位置: 编程技术 - 正文

JS声明变量背后的编译原理剖析(javascript声明变量的语句)

编辑: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;

推荐整理分享JS声明变量背后的编译原理剖析(javascript声明变量的语句),希望有所帮助,仅作参考,欢迎阅读内容。

JS声明变量背后的编译原理剖析(javascript声明变量的语句)

文章相关热门搜索词:js中声明变量,js中声明变量方法几种,js中声明变量方法几种,js里面声明变量的规则是什么,js中声明变量,javascript声明变量的语句,js里面声明变量的规则是什么,js声明变量用哪个关键字,内容如对您有帮助,希望把文章链接给更多的朋友!

JavaScript 盒模型 尺寸深入理解 概念引自维基百科:根据由万维网联盟(W3C)于年发行并于年修订的CSS1所指定的,当任意一个块级元素的宽度或高度被显式指定,它应当只确定

javascript学习(一)构建自己的JS库 前言库是一个饱受争议的热门话题。一种观点认为它是一种非常棒的工具,是任何开发者都不可或缺的;另一种观点则认为在不理解库的内部工作原理

javascript学习(二)javascript常见问题总结 1、JS中方法和变量都是区分大小写的2、单引号、双引号在JS中没有特殊的区别,都可以用来创建字符串。但作为一般性规则,大多数开发人员喜欢用单

标签: javascript声明变量的语句

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

上一篇:Three.js源码阅读笔记(基础的核心Core对象)(three. js)

下一篇:jQuery中hover与mouseover和mouseout的区别分析(hover在jquery中的用法)

  • 土地增值税清算管理规程
  • 个体户没做过账怎么办
  • 非营利组织免税资格怎么认定
  • 主营业务收入为什么记贷方
  • 所得税费用增加利润减少
  • 个税申报 两种方式
  • 买断式贴现是什么业务
  • 土地所有权可以出资吗
  • 房屋租赁收入怎么做账
  • 个体工商户能否开13的专票
  • 未及时扣除的分数怎么算
  • 结算备付金是流水账单吗
  • 公司内部食堂招待费账务处理
  • 小规模纳税人减免税收政策
  • 已认证的发票作废进项税转出账务处理
  • 非货币性资产交换的会计处理
  • 现金折扣 会计处理
  • 预收电费怎么做会计分录
  • 建筑公司工地买空调
  • 公司注销地税时其他应收款要缴纳个人所得税吗?
  • 去年没有交社保,今年交了有用吗
  • 国税局代开增值税专票要哪些资料?
  • 增值税报表上填写什么
  • 金融企业三大使命是什么
  • 购金蝶软件记什么科目
  • 投资款需要缴纳增值税吗
  • 信用担保对中小企业的作用
  • 会计新手入门
  • 电脑右下角弹窗广告怎么彻底清除
  • 哪些固定资产不会随着时间的流逝贬值
  • 查看电脑开机时间记录win10
  • MacOS bigsur11.2连击缩放窗口功能怎么关闭或开启?
  • 社保挂靠会计处理
  • 工作完工结算是什么意思
  • 超市收取进场费会计分录
  • 公司水费怎么算
  • nodejs怎么降低版本
  • el-table懒加载合并行
  • 赫尔辛基哈加赫利亚大学
  • php如何做app
  • 资产负债表中的应收账款应根据什么填列
  • 机动车组织机构代码查询
  • maven安装成功命令
  • 企业账户有什么好处
  • 电子发票开出后如何查看
  • 结算业务书汇票怎么写
  • 工会经费计提的比例
  • python初探
  • 物品登记制度
  • 在业和存续的区别
  • 小规模纳税人免税怎么做账
  • 应付职工薪酬的二级科目都有哪些
  • 过路费发票抵扣政策
  • 转账错误退款说明
  • 公司银行开户费用怎么报销
  • 换工作后个税app单位会自动更改吗
  • 药品进销差价科目明细
  • 工业企业生产什么
  • mysqlsum查询慢
  • sql 行号
  • mysql字符集的作用
  • mysql爆破字典
  • 如何看xp系统
  • 如何解决工作
  • vc运行程序
  • centos sudoers
  • windows xp 开机
  • linux操作系统的安装
  • win7怎么让系统更加快
  • win7旗舰版64位系统开机时软件设置自动启动详细图文教程
  • Win10 Mobile RS1预览版14267.1004 修复Lumia 550充电问题
  • text date excel
  • herd什么意思
  • jquery写入json文件
  • 编写注册表文件
  • unity3d总结
  • jquery.filedownload.js
  • 有机肥料销售是做什么的
  • 消费发票上的金额含税吗
  • 山东省国税局电话客服热线
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设