zoukankan      html  css  js  c++  java
  • JavaScript中的声明提升

    JavaScript中变量或者函数的声明会被提升(赋值语句不会被提升)到当前函数主体的顶部,不管这个声明是否出现在不可到达的地方。

    1 var test = 1;
    2 function f() {
    3 if(!test){
    4 var test=10;
    5 }
    6 alert(test);
    7 }
    8 f();

    如上的代码相当于:

    1 var test = 1;
    2 function f(){
    3 var test;
    4 if(!test){
    5 test = 10;
    6 }
    7 alert(test);
    8 }
    9 f();

    如上的输出为10

    再一个例子:

    1 var test=1;
    2 function f(){
    3 test = 10;
    4 return;
    5 function test(){}
    6 }
    7 f();
    8 alert(test);

    相当于:

    1 var test=1;
    2 function f(){
    3 function test(){}
    4 test = 10;
    5 }
    6 f();
    7 alert(test);

    如上的输出为1

  • 相关阅读:
    自我介绍
    秋季学期总结
    第七周编程总结
    第六周作业
    第五周编程总结
    第四周编程总结
    第三周作业
    第二周作业
    抓老鼠啊~亏了还是赚了
    币值转换
  • 原文地址:https://www.cnblogs.com/xf_z1988/p/3637706.html
Copyright © 2011-2022 走看看