位置: 编程技术 - 正文

谈谈我对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)

  • 个体户开电子税务局流程
  • 人力资源的差额征收怎么报企业所得税
  • 信用减值损失在借方
  • 注册资本余额为100万亿元
  • 委托贷款业务涉嫌诈骗吗
  • 所得税汇算清缴分录怎么做
  • 进口货物付款计入哪个科目?
  • 民办非企业收入会计分录
  • 营改增的项目
  • 融资租赁要怎么做
  • 开了发票必须记收入吗
  • 个体户定额定税要做账吗
  • 拨付所属资金和上级拨付资金
  • 进项票认证超了怎么处理
  • 知道发票代码怎么查询发票号码
  • 工会职工活动支出标准
  • 小规模纳税人可以开专票吗
  • 收取专利使用费怎么支出
  • 如果当月增值税进项比销项多怎么结转
  • 约定分摊和平均分摊有什么区别
  • linux服务器nfs安装
  • 尼泊尔乡村
  • 错账改正方法
  • 房贷每月利息如何算
  • 对于在某一时点履行义务,企业应当在
  • 收到进项税发票如何入账
  • kkfileview启动组件失败
  • 转让旧设备
  • 企业的生产成本等于
  • 工地事故赔付
  • 销售货物应如何记账
  • 固定资产管理系统多少钱
  • 外国政府贷款利息是否征收增值税
  • 员工出差垫钱
  • 铡刀演示
  • torch测定
  • java前端开发是做什么的
  • thinkphp用户token
  • cpu power management设置
  • 高效快速编制会计分录如何做?
  • 两个公司的钱转来转去
  • 母公司给我们减工资
  • 税控盘锁死日期是什么意思
  • 财务做帐的金额怎么算
  • 申报企业所得税会计分录怎么写
  • 注册资本没有全额投入,公司银行贷款贷款利息怎么入账
  • 坏账准备如何计算
  • 结转本月完工产品成本会计分录怎么写
  • 业务招待费能计入项目成本吗
  • 月末制造费用转入生产成本
  • 外经证是怎么样的
  • 母公司代发子公司工资,子公司申报个税
  • 会计为什么要计提费用
  • 社保个人部分如何继承
  • 劳务报酬现金流量
  • 旅游应当提示参加团队旅游的旅游者按照规定购买什么
  • 汽车4s店有哪些功能
  • 建筑施工企业会计分录大全
  • sql触发器语句
  • sql有什么
  • xp关闭防火墙命令
  • os x10.11el capitan beta5更新了什么?os x10.11el capitan beta5下载地址
  • Win10 UWP红石版应用商店迎来更新:查找更新再换位置
  • fstab文件详解修改
  • 什么是四个菜
  • c++11视频教程
  • unity3d官方案例
  • 详解九章算法
  • python常见算法
  • python中list的用法例子
  • python中的单下划线和双下划线
  • javascript基础笔记
  • 两个Collider遮挡的解决办法
  • ECLIPSE编辑器
  • 基于JAVASCRIPT实现的可视化工具是
  • js 进阶
  • python获取linux磁盘信息
  • 电子税务局驱动安装步骤
  • 浙江纳税百强2020
  • 江苏盐在什么地方
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设