位置: 编程技术 - 正文

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

  • 非居民纳税人是小规模纳税人
  • 企业代扣代缴个人所得税
  • 财政补贴交不交印花税
  • 中小企业工会经费怎么算
  • 预缴的税款
  • 会计科目的设置
  • 跨期差额扣除的计算开票以及账务处理
  • 国库存款利息收入计入哪个预算收入科目
  • 收到货款开的增值税发票怎么写分录
  • 视同销售税率如何确定?
  • 销售退回所得税差异怎么处理
  • 商贸公司购进农产品可以抵扣吗
  • 收到抵物广告费的会计处理怎么做?
  • 税控服务费的账务处理
  • 远期转账支票怎么取钱
  • 用公户付了一笔款怎么办
  • 主体资格的法律规定
  • 淘宝开企业店铺需要什么资料
  • 营改增公告
  • 房产税的改革方向
  • 简易计税核算方法有哪些
  • 不管金税四期上线与否,税务严查一刻也没有放松!
  • 房开企业增值税确认收入时间
  • 接受捐赠收入要计入企业所得税应纳税所得额吗
  • 劳务公司差额征收税率是多少
  • 物业公司广告位出租怎么入账
  • 税种登记要带什么资料?
  • 国债逆回购会跌吗
  • windows11禁止自动更新
  • 软件服务费怎么算
  • deldir.exe是什么
  • cmt.exe病毒
  • 广告公司的工程师好做吗
  • 酒店预收款管理制度
  • 计提短期借款利息资产增加还是减少
  • 房产税城镇土地使用税申报期限
  • php的lamp
  • 独立核算的分公司的账务处理
  • 承兑找公司贴现合法吗
  • 服务业的增值税
  • orb特征点匹配
  • json有几种基本结构
  • 弥补以前年度亏损报表怎么填
  • 申请开立账户的请示
  • 预付费卡开票
  • spark sql add jar
  • 未达到起征点的增值税会计处理
  • 进项税额抵扣如何做账
  • 无法支付的应付账款为什么计入营业外支出
  • 请问母公司如何称呼
  • 贷款的拨备覆盖率
  • 装饰公司工地
  • 银行承兑汇票提示付款期限
  • 工程施工人工费如何结转
  • 汇算清缴工资调减怎么做账
  • 建筑业确认收入的条件
  • 本年利润为什么是负数
  • 电脑折旧多少钱
  • sql server查询
  • vistaie9安装所需更新补丁
  • 电脑2003系统
  • ubuntu删除vmware
  • win7右下角提示测试模式
  • centos7光盘挂载方法
  • winxp怎样设置网络
  • linux常用命名
  • win10系统怎么刻录光盘?win10刻录光盘详细图文步骤
  • Win10预览版镜像
  • cocos2djs
  • nginx日志路径配置
  • css选择器教程
  • stick function
  • 'tools.jar' seems to be not in Android Studio classpath. Please ensure JAVA_HOME points to JDK rathe
  • unity3d基于物理系统的2D平台跳跃游戏
  • js uridecode
  • 智云发票集中管理云平台官网
  • 加计扣除为什么是税收优惠
  • 人工成本占企业利润比例
  • 徐州国税局班子成员名单
  • 外贸企业出口退税会计分录怎么做
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设