位置: 编程技术 - 正文

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

发布时间:2024-02-27
只要是写过点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中的用法)

  • 金税盘年费能全额抵扣吗
  • 小微企业所得税优惠政策最新2022
  • 转登记纳税人按规定再次登记为一般纳税人后
  • 外购商品发给职工如何做账
  • 出差的招待费怎么报销
  • 进项税发票认证后能退票吗
  • 车间用的电线计入什么科目
  • 无营业执照是否可以先办场所码
  • 物业前期开办物资
  • 房贷怎么申报抵押贷款
  • 政策性搬迁资产损失情况怎么写
  • 预收帐款一直挂账好吗
  • 出口退税备案完后怎么办
  • 单位向个人购买材料没有发票
  • 印花税的计税金额
  • 通讯费发票抬头为个人能否报销
  • 增值税返还收入冲减进项税
  • 货代企业所得税优惠政策
  • 收到退以前年度所得税
  • 现金折扣发票如何开具
  • 股东以车辆出资 涉及哪些税费
  • 挂靠别人的施工单位资质,要交什么税?
  • 固定资产注资后怎么做账
  • 签订旅游合同的意义
  • win11桌面图标如何固定不动
  • 税优识别码是纳税人识别号吗
  • 报关单上的生产销售单位
  • rundll32进程很多
  • PHP:eregi_replace()的用法_Regex正则函数
  • 退休人员被返聘还能领养老金吗?
  • 金融资产终止确认是什么意思
  • 融资租入固定资产的入账价值
  • 什么是西孟加拉邦首府
  • 停产企业税收申请减免
  • 贝尔·菲戈尔
  • thinkphp3.2框架
  • 公章的法律效力范围
  • 三维重建的主要步骤
  • pytorch训练函数
  • 微信小程序在哪里找?
  • php 接口规范
  • 将外购商品用于捐赠的分录
  • 销售收入是不是销售额
  • 出纳excel基本技能
  • 数据库帮助文档
  • 以前年度租赁收入如何处理
  • 用jdom创建中文的xml文件的方法
  • 基本户和一般户可以互相转账吗
  • 清算时存货是否要交税
  • 地税发票丢失怎么办?
  • 小规模免征增值税的会计处理办法
  • 企业注销资本公示时间
  • 其他应收款怎么冲平会计分录
  • 可以抵扣土地增值税的项目
  • 应收外币科目在哪里设置
  • 保理融资的费用由谁承担
  • 留存收益资本成本公式
  • 银行打对公回单
  • 平台使用费属于什么服务
  • 神州战神bios怎么进
  • Win7 64位旗舰版系统中实现照片的批量重命名
  • macfic
  • w7系统cf怎么调烟雾头
  • 邮件版本
  • mac os 如何备份
  • 你不知道的关于现代主义的故事
  • linux groupmod命令参数及用法详解(linux修改组信息命令)
  • win7系统怎么删除输入法
  • kernel headers not found for target kernel
  • win8怎么关闭电脑
  • win7系统无wifi连接
  • win7 android studio
  • linux如何创建守护进程
  • 快速备份mysql数据库
  • jq倒计时代码
  • js设置
  • android 改变view位置
  • 文山市税务
  • 河南省地税局副局长
  • 计算本月应交消费税分录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号