位置: 编程技术 - 正文

谈谈我对JavaScript原型和闭包系列理解(随手笔记6)(谈谈我对环境保护的认识)

编辑:rootadmin

推荐整理分享谈谈我对JavaScript原型和闭包系列理解(随手笔记6)(谈谈我对环境保护的认识),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:谈谈我对政治的看法,谈谈我对中国传统文化的理解,谈谈我对考古学的认识,谈谈我对考古学的认识,谈谈我对秦始皇的看法,谈谈我对秦始皇的看法,谈谈我对教师的理解,谈谈我对秦始皇的看法,内容如对您有帮助,希望把文章链接给更多的朋友!

相关阅读:谈谈我对JavaScript原型和闭包系列理解(随手笔记8) 谈谈我对JavaScript原型和闭包系列理解(随手笔记9)

什么是闭包

闭包是什么?闭包是Closure,这是静态语言所不具有的一个新特性。但是闭包也不是什么复杂到不可理解的东西,简而言之,闭包就是:

&#; 闭包就是函数的局部变量集合,只是这些局部变量在函数返回后会继续存在。

&#; 闭包就是就是函数的“堆栈”在函数返回后并不释放,我们也可以理解为这些函数堆栈并不在栈上分配而是在堆上分配

&#; 当在一个函数内定义另外一个函数就会产生闭包

什么是原型?

原型是一个对象,其他对象可以通过它实现属性继承。

任何一个对象都可以成为原型么?

哪些对象有原型

所有的对象在默认的情况下都有一个原型,因为原型本身也是对象,所以每个原型自身又有一个原型(只有一种例外,默认的对象原型在原型链的顶端).

执行上下文

每次当控制器转到ECMAScript可执行代码的时候,即会进入到一个执行上下文。

执行上下文(简称-EC)是一个抽象概念,ECMA-标准用这个概念同可执行代码(executable code)概念进行区分。

标准规范没有从技术实现的角度准确定义EC的类型和结构;这应该是具体实现ECMAScript引擎时要考虑的问题。

活动的执行上下文在逻辑上组成一个堆栈。堆栈底部永远都是全局上下文(global context),堆栈顶部是当前(活动的)执行上下文。堆栈在EC类型的变量(various kingds of EC)被推入或弹出的同时被修改。

--------------------------------------------------------------------------------

情况一: 在一段js代码拿过来真正一句一句运行之前,浏览器已经做了一些“准备工作”,其中就包括对变量的声明,而不是赋值。变量赋值时在赋值语句执行的时候进行的。

情况二: 在“准备工作”阶段,this是直接赋值的。

情况三: 函数: 函数表达式和函数声明

谈谈我对JavaScript原型和闭包系列理解(随手笔记6)(谈谈我对环境保护的认识)

“准备工作”总结:

&#;变量、函数表达式————变量声明,默认赋值为undefined

&#;this————赋值

&#;函数声明————赋值

这三种数据的准备情况我们称之为“执行上下文”或者“执行上下文环境”。

--------------------------------------------------------------------------------

javascript在执行一个代码段之前,都会进行这些“准备工作”来生成执行上下文。这个“代码段”分为三种情况--全局代码、函数代码、Eval代码。

--------------------------------------------------------------------------------

在函数中,除了“准备工作”的几种情况,还会有其他数据

以上代码展示了在函数体的语句执行之前,arguments变量和函数参数都已经被赋值。

函数每被调用一次,都会产生一个新的上下文执行环境。因为不同调用那个就可能产生不同的参数。

函数在定义的时候(不是调用)就已经确定了函数体内部自由变量的作用域。

总结:

全局代码的上下文环境数据内容为:

&#;普通变量(包括函数表达式),如:var a = | ===> 声明(默认赋值undefined)

&#;函数声明,如function fn() {} | ===> 赋值

&#;this | ===> 赋值

函数体

&#;参数 | ===> 赋值

&#;arguments | ===> 赋值

&#;自由变量的取值作用域 | ====> 赋值

通俗的定义:

在执行代码之前,把将要用到的所有变量都事先拿出来,有的直接赋值了,有的先用undefined占个位。

以上内容是小编给大家分享的JavaScript原型和闭包系列理解(随手笔记6)的全部叙述,希望大家喜欢。

图解js图片轮播效果 本文实例讲解了js图片轮播效果的实现原理,分享给大家供大家参考,具体内容如下两种图片轮播实现方案,先来看效果对比:方案一:原理:将图片摆

js实现n秒倒计时后才可以点击的效果 在我们进行注册用户时经常遇到点击按钮后,秒倒计时后才能继续可以点击,按钮上还能显示倒计时,这秒时间就是为大家提供细阅读协议做准备的

javascript实现的网站访问量统计代码 网站一般都有访问量统计工具,比较高效实用的工具多种多样,并且非常的精确。实用javascript也可以简单的实现此功能,尽管没有网络上常用的精确,

标签: 谈谈我对环境保护的认识

本文链接地址:https://www.jiuchutong.com/biancheng/386426.html 转载请保留说明!

上一篇:js点击按钮实现带遮罩层的弹出视频效果(js点击按钮实现登陆网页)

下一篇:图解js图片轮播效果(js图片轮播和点击切换)

  • 个税申诉已受理怎么撤销
  • 待摊费用和无形资产摊销
  • 内账月末怎样结转
  • 车险 专票
  • 销项税额转出减去还是加上
  • 结转损益管理费用在借方
  • 远期汇票分为哪几种
  • 打款到另外公司作为投资款的会计分录怎么做?
  • 开错的红字发票申请单上传了怎么撤销?
  • 销项已开进项还没有收到分录如何处理?
  • 生育津贴报销流程是怎么样的要去社保局问吗
  • 关于设备安装调试的说法
  • 免税的和不免税的可以开在一张发票上吗
  • 农产品收购发票怎么做账
  • 个税抵扣换工作未及时修改
  • 企业账面库存过大应怎样处理好
  • 资本增值是什么
  • 成交转化率的计算公式电脑
  • 补贴收入营业外收入比例过高
  • 投资收益亏损
  • 免税收入与不征税收入的区别与联系
  • 劳动报酬个人所得税由扣缴义务人预扣预缴
  • 利息支出的会计科目
  • mac终端怎么运行命令
  • 员工的罚款计入什么科目
  • 怎么证明公司的存在
  • 法律规定公司必须要有的制度
  • cmos电池低是什么意思
  • 押金少退侵犯了哪条法律
  • PHP:oci_fetch_assoc()的用法_Oracle函数
  • 什么是技术服务工程师
  • 只有收据没有发票怎么报销
  • htmlcssjavascript网页制作
  • 今日清明是清明开始还是结束
  • CodeIgniter连贯操作的底层原理分析
  • orb特征点匹配
  • ChatGPT频频发疯!马斯克警告:AI将毁灭人类
  • 小规模纳税人按简易计税法计税时也可以进行税额的抵扣
  • iperf3命令和iperf2
  • phpcms模块
  • 受托代销的分录
  • 本期进项税额明细表为什么数据一直出不来
  • SQL中print、sp_helptext的限制与扩展
  • 个体工商户转企业政策
  • 资产负债表和利润表的区别
  • 应付职工薪酬的含义
  • 职业年金是不是养老保险
  • 广告类的公司
  • 房屋租赁合同怎么写对房东有利
  • 会计账簿按用途分类分为什么
  • 对账簿设置的要求是什么
  • 我的发票查询
  • 删除sql server2019
  • Hibernate4在MySQL5.1以上版本创建表出错 type=InnDB
  • sql去除指定数据
  • WINDOWS系统无法正常启动
  • win10系统如何将c盘的软件移到d盘
  • macbook像素能不能提高
  • centos清理磁盘空间
  • 永恒之塔改注册表什么意思
  • windows7 设置
  • centos6.6网络配置
  • u盘安装win7视频教程
  • linuxcpu监控
  • windows7开机显示错误恢复进不去
  • windows7准备配置windows
  • libts.so.0
  • 一键配置天赋的台词
  • unity3d操作
  • ajax简单实例
  • 浅谈jquery中next与siblings的区别
  • 黑马程序员学费多少钱2018
  • python dj
  • 中国有多少人2022
  • 注销税务说明
  • 百旺税控盘怎么备份数据
  • 湖北省人民代表大会常务委员会关于深入开展
  • 电子专用发票怎么申请领用
  • 税务发票小助手 小程序二维码
  • 境外个人税务备案登记表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设