位置: 编程技术 - 正文

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

  • 应税工资怎么计算出来的
  • 实验用品包括实验仪器吗
  • 飞机发票和行程单可以一起开吗
  • 红冲后的发票税可以办退税吗
  • 股东投入款放入什么科目
  • 资金周转率计算公式期初占用资金
  • 冲减预提费用
  • 售后回租是否确认收入
  • 长期待摊费用当月增加当月摊销吗
  • 外贸过程中产生的问题
  • 个人终止投资经营
  • 已经在网上申报学校可以改学校吗
  • 没有建筑资质能办安全生产许可证吗
  • 所得税季报固定资产加速折旧表资产原值
  • 学校有税号可以收专票吗
  • 什么叫项目所在地
  • 单独估价作为固定资产入账的土地为什么不计提折旧
  • 一台设备发票开来0.5台怎么做账?
  • 计提坏账的应收账款收回
  • cmd telnet命令大全
  • 流动资产固定资产和无形资产都是资产类账户
  • 政府扶持资金要交所得税吗
  • 建账怎么建
  • 腾讯电脑管家怎么修复dll
  • 个税的征税范围主要包括哪些项目
  • win71
  • 购入的无形资产
  • 如何计算经营性负债
  • 财政部土地出让收支管理办法
  • 收到发票未抵扣谁开红字
  • win7纯净版系统 9代
  • 图文详解:台盆柜安装的全过程
  • 按下电源按钮时锁定计算机怎么弄
  • 子公司财务管理策略有哪些
  • 视同销售计税价格如何确定
  • 出口企业如何确认增值税收入
  • 收取逾期包装物押金怎么算税
  • wordpress简码怎么用
  • yii2-admin
  • Windows 10 python 3.9安装运行Mockingbird--拎包入住功略
  • 帝国cms界面
  • 银行利息的收入计入什么科目
  • 13个点的普票可以抵税吗
  • 外来原始凭证包括一次凭证,累计凭证和汇总凭证
  • 小规模纳税人适用什么会计准则
  • 个人扣税是怎么扣的
  • 企业所得税年报更正申报怎么操作
  • 出口退税是先交税后退税吗
  • 电子发票查询真伪
  • 未计提坏账准备发生坏账如何处理
  • 劳务派遣公司主营业务成本是什么
  • 利润率多少算好
  • 商业会计和工业会计哪个好
  • 转账到银行卡是从哪转的
  • 基本的select命令及作用
  • win8.1怎么样
  • xp系统好怪啊
  • windows2003设置自动重启
  • Win10 Mobile RS2预览版WiFi设置页面将和pc页面相同
  • desl.exe是什么
  • RAVMOND.exe - RAVMOND是什么进程.有什么作用
  • Win10系统如何使用无线网卡上网 win10台式机使用无线网卡上网的两种方法图文教程
  • sbserv.exe - sbserv是什么进程 有什么用
  • win8系统设置锁屏密码
  • 电脑导航阻止怎么办
  • cocos2d rpg
  • python如何配置
  • android加载dex
  • linuxshell命令行
  • python 网络编程培训
  • unity3d4个脚本
  • 互联网巨头bat有哪些
  • javascript面向对象编程指南 pdf
  • 河北省税务局云平台运维
  • 卖废铁分录
  • 企业所得税季申报表
  • 外经证办理流程在哪个网站申请
  • 如何连续打印单据
  • 国家税务总局两江新区税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设