位置: 编程技术 - 正文

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中的用法)

  • 读懂增值税
  • 工业企业应缴纳的税金有哪些
  • 什么情况需要个人档案
  • 未开发票如何确认收入并进行申报
  • 单身租房可以专租房吗
  • 城建税 申报表
  • 资产整体转让税收
  • 银行付款的会计怎么做账
  • 营改增后无形资产的出租和出售都属于增值税纳税范围
  • 电力工程公司岗位职责
  • 投资款多投了怎么办
  • 小规模公司退税
  • 利息收入增值税计税依据
  • 通用机打发票开具给个人是否需要缴税?
  • 大众创业的后果
  • 广告费扣除年限
  • 公司注销过了公示期不去有问题
  • 筹备期间的开办企业是指
  • 资产处置损益计入利润吗
  • 有哪些凭证
  • 所得税汇算清缴退税会计分录怎么做
  • 真实有效的18岁身份证
  • 王者荣耀中孙尚香怎么玩
  • mac底部菜单栏不见了快捷键
  • 公司撤股后还要担责任吗
  • 计提本月工资是上月工资吗
  • 关于笔记本电脑的文案
  • 新公司成立股份比例
  • 预付的房屋租赁费账务如何处理
  • 股份有限公司变更法人的流程
  • 如何使用微信公交付款
  • 资产处置损益计税基础是什么
  • 取得土地使用权的方式
  • 数据库impala
  • 发票已开,款未到的会计分录
  • waffe
  • 毕业设计基于51单片机多功能电子钟的设计
  • vite2.0 vue
  • 跨月的专用发票可以重新开吗
  • 逆回购要手续费吗
  • 进项税额转出有什么好处
  • 研发 专利
  • 股权转让 减资
  • 会计月末账务处理程序
  • 应付票据帐务处理
  • 建筑施工企业增值税老项目过度期成本票
  • 利息 记账
  • 学习笔记——Servlet
  • 工程材料税票怎样抵税
  • MYSQL的select 学习笔记
  • 医院执行政府会计制度操作指南 .pdf
  • 新企业购买税控盘,没收入,怎么抵扣
  • 交易性金融资产公允价值变动怎么算
  • 员工房屋租赁合同
  • 租赁收入属于什么行业
  • 为什么一般纳税人可以选择简易计税
  • 租来的办公室装修费摊销几年
  • 发票系统升级后怎样开票
  • 怎么做待摊费用
  • mysql新手入门
  • Transact_SQL 小手册
  • xp系统开机一直在启动界面
  • centos6.8图形界面
  • CentOS 7.0.1406 正式版发布(附CentOS7下载地址)
  • linux命令ls-l
  • u盘装win8系统教程图解
  • ps是什么文件
  • win10系统怎么调整输入法
  • win10如何打开ie8
  • 列举linux常用的几个命令
  • win8 休眠
  • python函数enumerate
  • 电子税务局登陆密码在哪里修改
  • 山东无犯罪记录证明网上申请
  • 广西南宁税务12366
  • 工会经费上缴地方工会15%的规定
  • 租赁合同备案后可以更改吗
  • 常设机构怎么缴纳所得税
  • 交完了契税后可以办房产证吗
  • 个体税务登记资料不齐怎么办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设