位置: 编程技术 - 正文

谈谈我对JavaScript原型和闭包系列理解(随手笔记9)(谈谈我对中国传统文化的理解)

编辑:rootadmin

推荐整理分享谈谈我对JavaScript原型和闭包系列理解(随手笔记9)(谈谈我对中国传统文化的理解),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:谈谈我对中国传统文化的理解,谈谈我对环境保护的认识,谈谈我对中国传统文化的理解,谈谈我对秦始皇的看法,谈谈我对美的认识,谈谈我对教师的理解,谈谈我对环境保护的认识,谈谈我对美的认识,内容如对您有帮助,希望把文章链接给更多的朋友!

相关阅读:谈谈我对JavaScript原型和闭包系列理解(随手笔记6) 谈谈我对JavaScript原型和闭包系列理解(随手笔记8)

作用域

引用《JavaScript语言精粹和编程实践》上对作用域的定义:

变量作用域又叫变量的可见性。变量作用域完成对信息的隐蔽,也就是处理“割据”问题。

js中是没有块级作用域的(ES6中有一个let,可以在{},if,for里面声明,同时作用域限定在块级。let声明的变量不存在变量提升!这里不谈论这个,因为我也是偶然看到。)。

我们在编写代码的时候,不要在“块”里面声明变量,应该在代码的一开始就声明好,以避免发生歧义。

javascript除了全局作用域之外,还有一个函数作用域。

我们在声明变量的时候,全局代码在最前端声明,函数中声明变量要在函数体前面声明。同时,声明变量的时候必须用"var"操作符。

全局代码、fn函数和bar函数都会形成一个作用域。作用域有上下级关系,上下级关系是看函数在哪个作用域下创建的。fn函数作用域下创建了bar函数,"fn函数作用域"就是"bar函数的作用域"的上级。

作用域的最大用处就是隔离变量,不同作用域下同名变量不会有冲突

--------------------------------------------------------------------------------

作用域在函数定义的时候就已经确定了,而不是函数调用的时候确定。

1、程序在加载的时候就已经确定了全局上下文环境,并随着程序的执行而对变量就行赋值。

谈谈我对JavaScript原型和闭包系列理解(随手笔记9)(谈谈我对中国传统文化的理解)

2、执行到行,调用fn(),创建fn函数的执行上下文环境,压栈,并将此上下文设置为活动状态。

3、执行到行,调用bar(),创建bar()函数的执行上下文环境,压栈,并将此上下文设置为活动状态。

4、bar()调用完毕,出栈,bar()函数上下文环境被销毁。接着执行行,调用bar(),创建bar()函数的执行上下文环境,压栈,并将此上下文设置为活动状态。

5、bar()调用完毕,出栈,其上下文环境被销毁。此时的控制权交给了fn()上下文环境,其再次变为活动状态。

6、此时fn()调用完毕,出栈,其上下文环境被销毁。控制权交给了全局执行上下文环境。

到这里这一段代码的执行过程就跑完了。

然后借用一下原作者的完整图:

总结:

作用域只是一个“地盘”,要通过作用域对应的执行上下文环境来获取变量的值。同一个作用域下,不同的调用会产生不同的执行上下文环境,继而产生不同的变量的值。所以,作用域中变量的值是在执行过程中产生的确定的,而作用域却是在函数创建时就确定了。所以,如果要查找一个作用域下某个变量的值,就需要找到这个作用域对应的执行上下文环境,再在其中寻找变量的值。

基于JS2Image实现圣诞树代码 马上圣诞节了,作为一名程序猿,如何体现自己独特的过节风格,如何在朋友圈发一张专属自己的祝福照片我觉得很有必要,你们说是不是。谈到圣诞

JS实现部分HTML固定页面顶部随屏滚动效果 本文实例讲述了JS实现部分HTML固定页面顶部随屏滚动效果。分享给大家供大家参考,具体如下:我们经常在淘宝网看到这样的特效,商品列表特别长,

javascript与jquery中的this关键字用法实例分析 本文实例分析了javascript与jquery中的this关键字用法。分享给大家供大家参考,具体如下:this表示当前的对象,这个当前对象可以是表单,p等任何元素1.ja

标签: 谈谈我对中国传统文化的理解

本文链接地址:https://www.jiuchutong.com/biancheng/385539.html 转载请保留说明!

上一篇:谈谈我对JavaScript原型和闭包系列理解(随手笔记8)(谈谈我对美国的印象)

下一篇:基于JS2Image实现圣诞树代码(jsgenerator)

  • 增值税普通发票几个点
  • 上月多计提增值税
  • 摄影服务属于哪个开票类目
  • 个税网络申报
  • 分期付款购买商品的会计分录
  • 劳务成本算营业成本吗
  • 两金占流动资产比重
  • 跨年的材料专票怎么做会计分录?
  • 企业违约补偿收条怎么写
  • 计提坏账准备为什么要加借方
  • 受委托加工物资双方账务处理怎么做
  • 法律责任的具体内容
  • 铲车费属于劳务费吗
  • 设备服务费是什么
  • 代扣款怎么做账
  • 以不动产对外投资要交什么税
  • 公司退股清算对股东影响
  • 什么情况下个税税率是10%
  • 企业报表里面利润怎么填
  • 什么叫非成品油发票
  • 修叉车这个工作怎么样
  • 工程什么情况下可以索赔
  • 苹果mac怎么复制文件到u盘 免费软件
  • 企业收到利息收入开发票吗
  • 企业当年实现的净利润
  • 维修是几个点的税率
  • 出口退税申请流程
  • php防止再次刷新
  • php开发微信小程序步骤
  • 车辆运输费计入什么科目
  • 其他应付款怎样结转
  • 投资公司要具备什么
  • 研发专利什么意思
  • 股权转让个税计算方法 未分配利润
  • 企业研发费用的归集
  • web服务器的搭建与应用
  • 递延所得税资产和负债怎么计算
  • 科目余额表平了但资产负债表不平
  • 前端资源浏览器下载
  • 小规模纳税人印花税减半征收政策
  • 命令查看系统信息
  • 网络费用属于什么费用
  • 如何做进项税额转出处理
  • 产品维修费的会计怎么做
  • 织梦怎么用
  • 公司的投资利税是什么
  • 个人所得税可以取出来用吗
  • 什么视同小规模纳税人?
  • 发现以前年度错账,不论错账是否涉及损益
  • 合并设立是什么意思
  • 固定资产的运输费和包装费计入
  • 企业银行贷款保证金多少
  • 加计抵减期末有余额怎么办
  • 个人咨询服务费个税怎么算
  • 预计负债 负债 区别
  • 农民专业合作社是企业法人吗
  • 一般纳税人混凝土税负率
  • mysql2002解决办法
  • windows提升性能
  • msmpeng.exe是什么程序
  • win10怎么将任务栏图标从长条改成圆形
  • ubuntu怎么将文件传送到电脑
  • window10显示重启提示
  • 寒江孤影原文
  • A Type-Safe Event System for Unity3D
  • Unity NGUI添加事件监听(转摘)
  • easyui表格
  • jquery配合.NET实现点击指定绑定数据并且能够一键下载
  • python用matplot画图
  • JavaScript function函数种类详解
  • JavaScript中的数据类型分哪为两大类?
  • unity协程的工作原理
  • 使用jquery
  • python运行出现none
  • 示例代码
  • android开发指南
  • 江苏电子税务局官网登录入口
  • 五险一金不满一年可以领失业金吗
  • 网上怎么开电子一票通
  • 鞋类进口关税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设