位置: 编程技术 - 正文

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

  • 公司怎么进行网上注册
  • 内部退养个人所得税政策
  • 收到失业金返还什么意思
  • 企业收到保险公司赔偿款是否要交税
  • 出资人和法人承担责任
  • 财产租赁合同印花税率多少
  • 加工费暂估入库的会计分录
  • 职工教育经费8%怎么算
  • 多付的货款怎么追回
  • 财政拨款的事业单位有哪些
  • 购车 买车
  • 增值税抵扣进项税额交税账务处理
  • 应缴纳的所得税税额
  • 营改增之后的增值税
  • 高薪员工如何降职
  • 直接收费金融服务、提供贷款服务和金融商品转让税率
  • 外地预缴城市建设2%的依据
  • 期初未缴税额和期末未缴税额
  • 固定资产无偿移交怎么做账
  • 事业单位福利费计提标准
  • 远期汇票的付款期限可以表示为
  • 劳务派遣公司开票几个点
  • 光伏电站运维费用清单
  • 房租发票需要缴房产税吗
  • 多交增值税可以退吗
  • 如何调整往来账款
  • 工会经费,职工福利费,教育经费的扣除标准
  • win10系统关机后自动开机怎么办
  • php is_integer
  • php-msf
  • PHP:Memcached::getServerList()的用法_Memcached类
  • 承租人对经营租赁的会计分录
  • 计算机与自动化的关系
  • win7纯净版本
  • 资产证券化会计信息披露规范
  • 债券利息计算方法
  • nvm使用教程
  • Madonna della Corona教堂,意大利 (© Volodymyr Kalyniuk/Alamy)
  • 残疾人增值税即征即退税收减免备案
  • php的file函数
  • 固定资产加速折旧最新政策2022
  • 发票带折扣怎么开
  • tsconfig baseurl
  • pyecharts 表格
  • 2023前端面试题目
  • 应付未付的工资属于负债吗
  • 借方和贷方是什么意思 现金日记账
  • 融资手续费计入长期待摊
  • 房地产公司测绘费怎么做会计分录
  • access untagged
  • 公司为非本单位缴纳社保
  • 债券投资属于什么
  • 豆制品属于农副产品吗为什么
  • 进项税额不允许抵扣
  • 年化收益率怎么算收益率
  • 小额贷款在银行需要什么条件
  • 研发费用加计扣除是什么意思啊
  • 进账单,其中有两个账户
  • 加强备案管理
  • 会计做账什么意思
  • 管理费用属于什么成本
  • Windows7 64位环境下Python-igraph环境配置的方法
  • 如何搭建一台内网服务器
  • fedora最新版本
  • chcfg.exe是什么
  • 无windows什么意思
  • winpatrol.exe - winpatrol是什么进程
  • 安装完xp系统直接黑屏怎么办
  • win7系统登录QQ失败提示QQ软件已被破坏或部分文件已经丢失的解决方法
  • 订书针的原理
  • linux时区问题
  • win10安全问题
  • 如何使用css进行网页布局,举例说明
  • [置顶]bilinovel
  • unity 3d教程
  • [置顶]JM259194
  • linux启动的过程
  • 深圳在线ca办理平台
  • 样板房费用属于开发成本的什么明细科目
  • 进项税发票过期了怎么办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设