var变量提升

本文介绍了JavaScript中的变量提升原理,JS引擎首先解析代码并声明所有变量,然后执行。变量提升使得所有变量声明移动到代码顶部。文章通过多个案例分析变量提升现象,并特别讨论了函数变量的提升,指出函数提升优先于变量提升。最后,总结提醒读者理解和注意变量提升的细节。
摘要由CSDN通过智能技术生成

var变量提升原理

JS引擎的工作方式是:①先解析代码,获取所有被声明的变量,②然后在运行。也就是专业来说是分为预处理和执行两个阶段。

变量提升的定义:所有变量的声明语句都会被提升到代码头部,这就是变量提升。
所谓解释就是会先通篇扫描所有的js代码,然后把所有声明提升到顶端,第二步是执行,执行就是操作一类的。

案例1

<script type="text/javascript">       
  console.log(a);       
  var a=10;  
</script>
// 以上代码输出undefined
// 原因:变量提升(把变量声明提升到当前执行环境的最顶端)

//以上这段代码相当于:
var a ;
  console.log(a);
  a=10;

案例2

<script type="text/javascript">    
  foo();    
  function foo() {
           
    console.log("aaa");    
  } 
</script>
// 结果输出:aaa
//原理:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值