位置: 编程技术 - 正文

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

  • 商贸企业出口进项税会计分录汇总
  • 工会经费的会计核算方法
  • 小规模免收增值税的收入范围
  • 处置固定资产产生的净损失
  • 集团内部借款利息可以税前扣除吗
  • 金蝶kis 反结账
  • 票据贴现的账务处理案例
  • 预收账款年底要确认收入吗
  • 开出支票如何入账
  • 工程领用物资退回会计分录怎么写?
  • 年终奖第二年才发怎么计算个税在个税app
  • 取得企业增值税发票
  • 土地增值税清算的条件
  • 全年一次性奖金计税方式2023
  • 出售二手车税率3%减按2%征收的政策
  • 视同销售的计税依据
  • 补提的增值税应该记在哪里
  • 企业接受投资者的土地使用权投资
  • 如何以快捷方式打印文件
  • 预提税和企业所得税
  • 库存商品赠送会计分录
  • 费用报销操作流程
  • hbuilder打包apk
  • 货没到申请退款玩付邮费吗
  • php两个多维数组合在一起
  • excel2019文件加密
  • 报关代理费是什么
  • 收到发票已入账什么意思
  • PHP:stream_context_get_options()的用法_Stream函数
  • windows不能打开exe文件
  • mch是什么文件
  • 企业的各项费用
  • 股东分红个人所得税怎么算
  • 应收账款融资的风险控制
  • 塞巴斯蒂安电影 豆瓣
  • php模板引擎执行时间
  • 装饰工程公司施工一般包括哪些内容?
  • 个体户个人所得税税率表2023计算
  • 床垫可以开专票抵扣吗
  • 公务交通通讯补贴
  • 基本运算符号有乘方吗
  • mysqli
  • discuz mysql8.0
  • 3步搞定纯真ip数量
  • mongodb修改命令
  • 固定资产转在建工程
  • 两免三减半取消了吗
  • sql server触发器的作用
  • 如何在sql server中已有数据库进行修改
  • 征税小规模纳税申报
  • 免征增值税和增值税区别
  • 税务ukey版怎么读入发票
  • 固定资产多少钱算固定资产
  • 疫情防控期间临时性工作补助申请
  • 解除合同补偿金需要缴纳个税吗
  • 预付工程款预算会计怎么做账
  • 企业的利润怎么提出来
  • 企业红包是什么骗局吗
  • 申报和做账必须一致吗
  • 股权变更需要交哪些税
  • 用于职工福利的增值税怎么计算
  • 如何建立明细分类账
  • win7设置繁体字
  • 拒绝访问.exe出错
  • openbsd4.1+apache+mysql+php 环境配置
  • u盘重装系统电脑
  • w10隐藏功能
  • 如何设置无线网密码
  • js 操作excel
  • jquery转dom
  • shell脚本转码
  • vue是如何实现双向绑定的
  • unity3d怎么做动画
  • 深入理解新发展理念,推进供给侧结构性改革心得体会
  • 查看shell脚本
  • unity 内嵌浏览器
  • 表单验证jquery
  • unity vtext
  • 卷烟批发环节的消费税
  • 青岛胶州国际机场在哪个区
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设