位置: 编程技术 - 正文

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

  • 个体户可以开多个银行账户吗
  • 发票没有纳税人识别号能开吗
  • 销售货物分期付款怎么确认收入
  • 房地产开发企业土地增值税清算
  • 房地产中的存货是什么意思
  • 环保专项资金可以转让吗
  • 材料溢价分录
  • 外币折算会计处理例题
  • 退租未摊销的装修费会计分录怎么写
  • 公司买的设备
  • 企业注销后资产如何处置
  • 实收资本账簿印花税需要每年交吗
  • 辞退福利税前扣除标准
  • 三八妇女节要求小班幼儿到校怎么分享
  • 委托加工物资手续费
  • 小企业会计准则会计科目表
  • 减免税备案申请表范文
  • 建筑行业当月无收入成本如何结转?
  • 华硕主板如何刷系统
  • window10最新激活码
  • Linux中samba服务区怎么创建多个用户
  • windows7如何删除软件
  • 科技研发公司经营范围包括哪些
  • 腾讯电脑管家病毒库更新
  • 前端获取当前地址
  • 跨年退税怎么处理
  • 如何重装系统win7旗舰版
  • 怎么修改wifi密码视频教程
  • 员工福利费账务处理
  • 企业税计算方法
  • 出口退税转内销的话如何算发票金额
  • uniapp安装插件
  • 初品官网
  • 为公司垫付费用,怎么要回
  • php_imagick
  • 电维护费多少合法
  • googlelabs
  • 航天金税盘发票作废流程视频
  • 资产处置损益计算公式
  • Swagger-的使用(详细教程)
  • uniapp 手写识别
  • swatch of
  • 哪些农产品属于免税
  • 不是销售类的工作可以做什么
  • 残疾人加计扣除工资按应发还是实发
  • 小规模企业应交税费
  • 2021年食用油税率
  • 装修公司开的劳务发票
  • 公司申报是每月一次吗
  • Android ViewPager2 + Fragment 联动
  • python dup函数
  • 还原型谷胱甘肽的作用和功效
  • 固定资产转移说明模板
  • 以前年度的费用发票怎么入账
  • 手工账做账流程总结
  • 应付账款怎么处理
  • 忘了作废的发票还能用吗
  • 纳税人去税务局办什么
  • 为什么一般纳税人可以选择简易计税
  • 员工报销没有发票可以从公户转账吗
  • 购入汽车属于什么会计科目
  • 未分配利润借方是什么意思
  • 可持续增长率和内部增长率的区别
  • mysql查询表语句
  • win10改win8.1
  • use crt secure
  • unix系统的文件分为哪三种存取结构
  • win10相机桌面快捷方式
  • 计算机策略设置
  • windows8.1开始
  • win8的计算机在哪里
  • 遍历目录文件
  • 详解16型人格
  • 浅谈如何加强基层党组织建设
  • jquery的dialog怎么使用
  • 手机安卓版本升级
  • js中写html代码
  • 打印格式不对怎么设置A4
  • 发票校验码不清楚
  • 国税申报时间2023年10月
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设