位置: 编程技术 - 正文

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

  • 不缴或少缴应纳税款的处罚措施
  • 结转增值税会计凭证
  • 股权转让如何缴纳增值税
  • 计提附加税金额
  • 应交个人所得税在借方是什么意思
  • 购进固定资产的安装费计入原值吗?
  • 其他收益属于什么类
  • 分期付款购买商品的会计分录
  • 增值税专用发票和普通发票的区别
  • 对外投资所得税计算公式
  • 给员工缴纳保险
  • 购买货物待销售会计分录
  • 一般纳税人从按照简易计税方法依照3%
  • 怎么看公司行不行
  • 小微企业计算公式
  • 关税减免有哪些类型?
  • 分期付款融资账务处理
  • 行政单位需要缴税吗
  • 增值税专用发票校验码是哪个位置
  • 对方公司只能开发票吗
  • 系统升级为win11
  • windows为什么从7开始
  • 出口退税率和进项一致吗
  • 以前年度长期待摊费用没摊销怎么办
  • 猫光纤信号灯闪红
  • 结算备付金的账户是什么
  • php自学
  • 生产企业外销收入账务处理
  • 搜索神器官网
  • 未取得专用发票详细原因怎么写
  • “write javaBean error, fastjson version 1.2.83, class org.apache.shiro.web.servlet.ShiroHttpServletR
  • php引用文件的方法
  • smart模板教程
  • 深度学习的通道到底是什么?有什么用?(小白可看)
  • 文件上传漏洞原因
  • docker部署架构图
  • 大数据热点话题
  • 租赁店面没有发票违法吗
  • 年末结转利润分配各明细账户
  • 出差餐补属于福利费吗
  • nginx防盗链的作用
  • 酒店周转材料怎么摊销
  • 完税凭证是
  • 银行承兑汇票回头背书
  • 培训费其他费用的列支范围
  • 应交税费为什么写在借方
  • 开专用发票可以直接写加工费这个明细吗?
  • 个人出租房屋需要缴纳个税吗
  • 监控维护费用计入什么明细科目
  • 贷方账户日累计金额超限什么意思
  • 职工食堂的会计处理
  • 转出未交增值税年末怎么转平
  • 外贸公司美金账户开立要求
  • 贸易公司的会计要做哪些报表
  • 企业在建工程项目
  • 收到对公打款认证怎么入账
  • 验资账户需要对账吗
  • 网上购物退款后未退回物品怎么投诉
  • 新发票和旧发票的区别
  • 财付通交易手续费多少
  • 会计年终决算怎么填写
  • 总账建账要遵循的原则
  • mysql里面的索引
  • ubuntu没有wlan0
  • win8 所有程序
  • w7改w10硬盘怎么设置
  • win8系统摄像头在哪里打开
  • z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
  • jquery插件使用教程
  • android viewpager嵌套viewpager
  • jsforeach循环遍历数组
  • 安卓里面怎么调用方法
  • Android - Designtime Layout Attributes & Tools Attributes
  • javascript高级程序设计电子书
  • python3 django教程
  • javascript随机生成数字
  • unity shader视频教程
  • 南京市国家税务局
  • 营业执照网上申报入口官网
  • 上海地税定额发票在哪开
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设