位置: 编程技术 - 正文

谈谈我对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.2%企业所得税计算方法
  • 小微企业所得税优惠政策最新2023
  • 个体户交税起征点 2023年
  • 税盘被锁应该怎么办?
  • 税种核定办理流程
  • 年中入职个税怎么预扣
  • 企业间借款利息账务处理
  • 出口退税的账务关键是什么
  • 应收票据借贷方核算什么内容
  • system 命令
  • 图解 http
  • 如何删除驱动器里面的文件
  • 其他业务收入怎么申报增值税
  • 出售短期债券投资发生的净损失计入哪里
  • 如何安装wordpress图文教程
  • 销售自己2008年1月购入并作为
  • 城市赚钱项目
  • 劳务报酬所得包括哪些
  • wordpress调试模式
  • 工程项目成本费用的分类有哪些?
  • zencart安装教程
  • 【第二趴】uni-app开发工具(手把手带你安装HBuilderX、搭建第一个多端项目初体验)
  • yolo算法百度百科
  • 利润表没有本月金额只有本年累计可以吗
  • 广告合同印花税税目怎么填
  • php sql 教程
  • mongodb 权限设置
  • 无偿提供建筑服务账务处理
  • 异地预交个人所得税
  • 个税 全年累计
  • 待摊费用属于企业的债权
  • sql server数据表
  • 专家评审费如何入账
  • 设备维修费可以抵扣进项税吗
  • 已抵扣进项税额转出的会计分录怎么做
  • 银行贷款需要哪些材料
  • 一般纳税人开票流程
  • 投标费用如何入账科目
  • 抵扣旅客运输服务申报时填哪行
  • 防疫物资采购会计处理
  • 支付宝扣手续费是怎么回事
  • 如何进行固定资产审计
  • 出纳的现金日记账表格怎么做
  • 会计年初如何轻松工作
  • windows下启动mysql的命令是什么
  • 阿里云linux 服务器 字符集
  • sql数据库批量添加数据
  • linux下mysql的root密码忘记的解决方法
  • windows性能监视器横坐标
  • 深入解析linux内核
  • xp系统如何禁止各种窗口弹出
  • win7系统怎么开wifi热点
  • window10找不到安装的软件
  • 微软windows1
  • 基于核心素养下的大单元教学设计
  • Ver、Vol、Ctty命令的使用教程
  • Unity Spine Skeleton Animation 2D骨骼动画 For Game 介绍
  • 3366小游戏小
  • shell获取文件内容给变量
  • unity区域光怎么做
  • [置顶]马粥街残酷史
  • js与jquery的关系
  • Ubuntu14.04 Android 源码编译
  • window.onerror()的用法与实例分析
  • 焦作国税局官网
  • 投资联营的房产税纳税人是谁
  • 改革概念股是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设