位置: 编程技术 - 正文

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

  • 什么情况借钱
  • 实收资本增加如何计算
  • 外籍人员可以在中国工作吗
  • 银行对账单放前面还是放后面
  • 印花税申报了什么时候扣款
  • 红冲后的发票税可以办退税吗
  • 个人购买商铺如何缴税
  • 军队票据可作税前扣除凭证吗
  • 一般纳税人辅导期
  • 每股收益无差别点公式
  • 商场促销的税务处理怎么做?
  • 住宿费可以开会议费吗
  • 企业电话费计入什么科目
  • 小规模纳税人企业所得税怎么计算
  • 企业报销发票都需要什么
  • 个人企业属于什么部门管理
  • 年薪制离职补偿金
  • 销项已开进项还没有收到分录如何处理?
  • 董事监事的报酬包括哪些
  • 小公司发工资怎么做账
  • 开票软件上怎么抄税
  • 分配利润账务处理
  • 多交增值税如何退回
  • 什么情况下的发烧才会全身酸痛呢
  • 企业所得税减免政策
  • 进口商品买卖的关键环节
  • 一般商业企业要缴纳哪些税?
  • 成品加工为另一个产品
  • 社保费现金收缴管理制度
  • win10如何获得管理员权限修改文件
  • win10教育版用户账户控制怎么取消
  • 生产成本是什么类科目
  • 远程桌面连接的用户名和密码在哪里看
  • php检测文件是否存在
  • win11更新补丁如何删除
  • svchost一直在下载什么
  • 增值税的具体内容包括
  • 关联方借款利息所得税前扣除
  • 对外投资概述
  • 通过session实现用户的登录与登出功能
  • joplin使用
  • tf club下载
  • 收回外币应收账款如何处理
  • 预付账款年底怎样结转
  • 电子商业汇票业务
  • 外商投资企业 外资企业
  • 增值税多交了五万怎么办
  • 帝国cms视频教程
  • sql自增1
  • 小规模纳税人销售商品会计分录
  • 商品流通企业的基本要素
  • 个人所得税可以取出来用吗
  • sql2019远程连接
  • windows下重启mysql服务
  • 支付其它与经营活动有关的现金对不上
  • 开发票的销售收入正规的做账如何做?
  • 车辆购置税可以退税吗
  • 现金支付现金股利
  • 环境检测费属于什么费用
  • 可供出售金融资产有哪些
  • QQPCTray.exe是什么进程 QQPCTray.exe文件介绍
  • win7电脑怎么设置
  • linux如何读取nvme信息
  • ubuntu独立显卡黑屏
  • 如何给windowsXP磁盘加密码
  • linux ora11g安装教程
  • 分享五个有用的东西
  • python调用cuda执行加法
  • 怪物掉落物品的获取方式
  • node.js的理解
  • javascript的
  • 谈谈对人才是第一资源的理解
  • jquery js区别
  • jqueryon事件
  • js跨域访问页面控件
  • 河南政务服务网官网
  • 树叶加树叶等于几
  • 青岛个人所得税咨询电话是多少
  • 地方税务局是事业单位吗
  • 公务卡信用等级1级
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设