位置: 编程技术 - 正文

JavaScript var声明变量背后的原理示例解析(js中用var定义变量的格式)

编辑:rootadmin
只要是写过点JS代码,很简单一个var 就完事了。那对于JS编译器背后它又发生了什么呢?那就一步步通过代码来讲起。 上面的代码也会你答对了它会分别输出:1,undefined,2。对于我来说,第一反应它会输出:1,1,2。为什么第二个会输出undefined?在上面我明确定义了一个全局变量x,为何找不到? 那是因为:js编译器在执行这个y函数的时候,会把把它body里面的声明变量提前到最前面进行声明。比如:var x=2; 编译器先会在body最前面进行var x 声明。其实上面的代码等同于下面的这段代码: 所以也就不难理解x=undefined的了.但是如果把var x = 2;这段代码给删掉,在内部它没有进行var声明。它会一直沿着作用域向上找,此时的x 就为全局x. 接下来再看一个更有趣的例子。 例子很简单。第一个例子为输出,第二个会输出1。这是为什么呢?况且第二个例子我都return 了。按理都应当输出才对呀!那时因为JS编译器在背后作怪。 两段代码差别就是第二个例子多了个function a(){};便这个函数体里面什么也没有,并且也没有对它进行任何调用。 其实JS编译器在背后会把function a() {}编译成 var a=function (){}。此时对于函数内部也有一个a=; 外面的a些也还是1;根据JS作用域。会先找内部的a,如果找不到再向上一级一级找。 最张alert(a) 就会显示1;

推荐整理分享JavaScript var声明变量背后的原理示例解析(js中用var定义变量的格式),希望有所帮助,仅作参考,欢迎阅读内容。

JavaScript var声明变量背后的原理示例解析(js中用var定义变量的格式)

文章相关热门搜索词:javascript中var的用法,java var声明变量,js中用var定义变量的格式,javascript中var的用法,java var声明变量,js中的var声明的作用,js中的var声明的作用,js中的var声明的作用,内容如对您有帮助,希望把文章链接给更多的朋友!

JavaScript的继承的封装介绍 /***当调用此函数时,只有第一次参数传入,第二个不存在的情况下,就创建类*当调用此函数时,传入了两个参数,第一个参数为基类,第二个参数则在基类的

JavaScript中prototype为对象添加属性的误区介绍 先上需要用到的全部代码片段(截取)MenuControl.prototype.boxDisplay=false;//是否显示图层选择菜单MenuControl.prototype.controlUI;MenuControl.prototype.show=function(){if(point

javaScript arguments 对象使用介绍 ECMAScript函数不介意传递进来多少参数,也不会因为参数不统一而错误。实际上,函数体内可以通过arguments对象来接收传递进来的参数。functionbox(){returnar

标签: js中用var定义变量的格式

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

上一篇:JavaScript对象学习经验整理(js对象常用方法)

下一篇:JavaScript的继承的封装介绍(javascript中的继承)

  • 金税四期税务机关一局式
  • 企业之间借款利息进项税可以抵扣吗
  • 个体户超过定额怎么纳税申报
  • 小规模纳税人开专票需要交税吗
  • 残保金税率是万元以下吗
  • 土地闲置费是否可以税前扣除
  • 未分配利润太多说明什么
  • 发票作废进项税额转出怎么做账
  • 施工企业结算金额怎么算
  • 无票销售纳税后怎么处理
  • 所有者权益科目编码
  • 资产负债表最后要平吗
  • 公司牌车还款从哪里扣款
  • 已认证已抵扣的发票对方要寄回吗
  • 行业协会收取的服务费
  • 外购低值易耗品可以抵扣进项税额吗
  • 季节工有工伤吗
  • 移动电子发票怎么发送到邮箱
  • 债转股需不需要交税
  • 增值税简易征收一览表
  • 债务重组会计处理中,债务人确认的债务重组利得
  • 收到加盟费尾款怎么做分录?
  • 暂估入库价格高于实际价格怎么调整
  • 农产品加工所得税
  • 记账凭证是出纳编制吗
  • 公转私限额多久自动解冻
  • 固定资产摊销怎么做
  • 苹果静音模式siri
  • 赡养人 被赡养人
  • 股权转让有哪些股
  • 土地增值税预征的计征依据=预收款-应预缴增值税税款
  • 硬盘跳线设置
  • 在windows操作
  • nginx apache php
  • 企业所得税税前扣除和不扣除的区别
  • 信用减值损失在借方是增加还是减少
  • 工程建设的项目的划分?
  • 企业汇算清缴发现之前收入记多了可以调整吗
  • 激光器原理及应用
  • 关于低值易耗品的说法中不正确的是
  • 未分配利润为负数怎么调整
  • 关于实收资本的表述中,不正确的是
  • React props全面详细解析
  • 小规模纳税人的税率是多少
  • 新公司开账户需要多少钱
  • 购办公桌椅入什么费用
  • 研发费用的范围包括哪些
  • 应收账款的账龄怎么分析
  • 预付账款未发货会计分录
  • 资产负债表是怎么核对的
  • 动迁补偿金
  • 股权转让低于净资产的税怎么算
  • 公司市场部门有什么职位
  • 没进项发票开销项发票可以吗?
  • 怎么注册电子邮箱号
  • 营业费用包括哪些?
  • 银行询证函快递费谁负担运费
  • 经营地址怎么变更
  • 主营业务收入多栏式明细账怎么登
  • 备用金怎么做会计科目
  • 必须会的sql语句有哪些
  • sql server怎么修改表中数据
  • 查找非空顺序表l中第一个最大的元素
  • win8的文件夹选项在哪里
  • xp系统怎么取消用户登录
  • 扫清落叶堆怎么扫
  • mac如何更换系统
  • window资源管理器
  • linux的samba是什么
  • visual studio 无法编译
  • nodejs中的模块以及作用
  • nodejs cgi
  • ubuntu nodejs
  • android开发最全教程
  • python算法怎么用
  • 键盘事件有三个 分别是
  • 安卓的生命周期方法
  • 税务核查是什么意思
  • 江苏省2023年1号文
  • 光伏电站电力监控系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设