位置: 编程技术 - 正文

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

  • 改签费可以进项转出吗
  • 劳务工资入什么科目
  • 抵扣认证的发票开红字有影响吗
  • 转回存货跌价准备对递延所得税资产的影响
  • 合伙人没有账目就说赔了合法吗
  • 一般纳税人收入会计分录
  • 计提坏账准备怎么理解
  • 一般纳税人的税务筹划
  • 企业收到的捐赠应计入
  • 租车费属于办公费吗
  • 签订合同未履行属于什么行为
  • 营改增后转让土地使用权增值税
  • 现金比率一般多少
  • 收到对方开错的发票怎么处理
  • 开票给子公司的利息收入怎么做账?
  • 财务费用利息收入的账务处理
  • 购买的专利可以进费用吗
  • 2020退税时间超过了怎么办
  • 跨月冲红的发票怎么做账
  • 发票申领需要什么资料
  • 提供餐饮服务的税率
  • 预缴企业所得税怎么算
  • 股权转让收益算利润吗
  • 股票价格变化的原因
  • 安装属于劳务报酬吗
  • 外购货物用于职工福利企业所得税怎么调整
  • 确认坏账损失的分录怎么做
  • 个人所得税申报晚了一天会干什么
  • 本期预收的货款属于
  • 预收购货款的会计分录
  • bios如何恢复默认值
  • 合伙企业必须有什么并以其作为企业法律基础
  • php curl post请求
  • win10没有音效设置
  • 怎么设置宽带开关网络
  • windows 10 build 21354
  • PHP:ftp_set_option()的用法_FTP函数
  • 2019年下半年中小学教师资格考试综合素质试题
  • kcleaner.exe是什么
  • 酒店如何核算成本
  • 增值税进项发票丢失最新处理办法
  • 模型训练的过程是什么过程
  • html的表单怎么做
  • 企业补助怎么做会计分录
  • 样品开发计划
  • 企业支付股利属于由( )引起的财务活
  • 在私立医院就诊能报销吗
  • 异地项目增值税要异地缴纳吗
  • 报废的机器设备属于什么会计要素
  • mysql数据类型和java对应
  • 小规模纳税人减按1%征收率征收增值税
  • mongodb reactive
  • 建筑安装增值税税率变更过程
  • 如何做应收账款分析
  • 应付账款的发生额怎么算
  • 母公司与子公司税务关系
  • 待处理财产损溢属于什么类科目?
  • 固定总价合同与epc总承包合同区别
  • 红字发票怎么申报增值税
  • 基本户转账法人会知道吗
  • sql 修改表的字段名称
  • 正确使用气体钢瓶的原则
  • tcpsyncookies
  • office2016formac更新了什么 新版macoffice软件功能一览
  • linux安装迅雷
  • linux误删除数据
  • 微软十周年
  • windows8.1关闭开机密码
  • 如何dj
  • win10系统如何删除用户账户
  • android EditText 需要输入文本时调不出来软键盘 解决方案(亲测有效)
  • win10复制c盘到新硬盘
  • python多线程菜鸟教程
  • js中的?
  • python搭建网站并在服务器上部署
  • js中倒计时器怎么实现
  • 广东省地方税务局班子成员
  • 江苏税务局电子
  • 经营所得专项扣除养老保险费可以全额扣除吗
  • 小规模纳税人土地使用税减免政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设