您的当前位置:首页正文

一道题引发的变量声明及作用域的关系

来源:华拓网

var tt = 'aa';

function test(){

    alert(tt);  //underfined;

    var tt = 'dd';

    alert(tt);  //dd

}

test();

注:js引擎在执行的时候会把所有的变量、函数声明提升到当前作用域的最前面。

所以如上代码就相当于

var tt = 'aa';

function test(){

    var tt;//只是声明但未赋值的变量值为undefined

    alert(tt);  //underfined;

     tt = 'dd';

     alert(tt);  //dd

}

test();