位置: 编程技术 - 正文

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中的继承)

  • 销项税转出是啥意思
  • 劳务费增值税税率13%
  • 开票人和复核人收款人能是一个人吗
  • 公司端午礼盒
  • 自然人独资是小规模纳税人吗
  • 当前时间该属期不可申报
  • 非盈利组织是什么
  • 小规模纳税人核算方式选什么
  • 专票未认证是什么意思
  • 占用农村宅基地建豪宅
  • 机动车销售统一专票有几联
  • 汽车租赁的印花税税率
  • 共同控制合营企业的合营者
  • 股利怎么算出来的
  • 免税收入的三个条件
  • 资本公积转增股本什么意思
  • 工会经费向地方税务局缴纳的比例是多少
  • 企业外币交易会计核算方法
  • 增值税发票有哪些类型
  • 贷款减值损失的计提规则
  • 预收一年租金会计分录
  • 退休职工费用哪里列支
  • 保税区内的货物交易
  • 营改增步骤
  • 股权转让受让方要交个人所得税吗
  • 出差补助没有发票可以直接入账吗
  • 销售回款率怎么计算
  • 资产负债表中资产项目的排列顺序是
  • 更新网页证书
  • 如何解决windows蓝屏问题
  • hhupd.exe
  • 银行本票实际金额小于票面金额
  • 土地增值税预缴税率表
  • 社保工伤退费会计分录
  • 2018年残保金申报表填表说明
  • javascript对象有哪些
  • js正则用法
  • 多线程并发python
  • 其他应收款其他应付款的风险
  • 营改增之后还有营业税金及附加吗
  • java守护线程和本地线程区别
  • 织梦怎么添加相关
  • mysql随机密码怎么看
  • 转让股权个税的计税基础
  • 融资租赁首付租金定义
  • 主营业务收入净额在利润表里怎么看
  • mysql中删除语句怎么写
  • 商场进行打折促销活动,消费金额(p)
  • 预收账款要预交税金吗
  • 购入钢材
  • 工程总包含设备工程吗
  • 甲方代付农民工工资谁报个税
  • 商贸企业的产值和营业收入
  • 基金账户托管
  • 2021会计实操视频
  • 企业对财会人员的要求
  • 工业企业接受捐赠收入计入
  • 在mysql中使用mysql workbench创建数据库
  • ROW_NUMBER SQL Server 2005的LIMIT功能实现(ROW_NUMBER()排序函数)
  • windows2008教程
  • WFXSVC.EXE - WFXSVC是什么进程
  • centos7 lvcreate
  • mpcmdrun.exe是什么进程
  • win8计算器在哪里找
  • linux wc-l
  • android开发环境搭建实验报告总结
  • cocos2dx 3.1 cpp版本转lua版本 mac
  • 教女朋友学粤语
  • jquery设置鼠标样式
  • JavaScript中setMonth()方法的使用详解
  • js表单事件有哪些
  • js如何使用
  • 示例代码
  • jqueryfilter
  • jQuery模拟select实现下拉菜单功能
  • 新电子税务局使用方法
  • 浙江职称评审网官网
  • 云南发票网站
  • 增值税普票十万怎么开
  • 盐城国税电话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设