javascript的变量问题

1.全局变量:

全局变量都是window的属性

var a = 1;其实是把变量的声明和变量的赋值结合在一起,而变量的声明会提前进行声明,赋值会在程序执行的时候才会进行。

3.变量声明和函数声明

函数声明会覆盖掉变量的声明,而不能覆盖变量的赋值,

案例:

var a = 1,
    b = function a(x) {
        x && a(--x);
    };
alert(a);
输出结果为 1;
而假如:
var a;
function a(x) {
        x && a(--x);
    };
alert(a);
则输出结果为:
function a(x) {
        x && a(--x);
    };

参考资料:
http://mianshiti.diandian.com/
原文地址:https://www.cnblogs.com/shamoguying1140/p/2800433.html