js中的全局变量

一般使用var声明的变量为局部变量。

function test(){
    var temp = "dsd";  #局部
    console.log(temp);
}

test()    /*dsd*/
console.log(temp)    /*无法输出,变量为声明*/
/*
Uncaught ReferenceError: temp is not defined
*/

在函数中不使用var声明的变量为全局变量

function test(){
    temp = "dsd";  #全局
    console.log(temp);
}

test()    /*dsd*/
console.log(temp)     /*dsd*/

或者使用window将数据加载到当前窗口,也可以实现全局

function test(){
    window['temp']= "dsd";
    console.log(window['temp']);
}

test()    /*dsd*/
console.log(window['temp'])     /*dsd*/

本质:上面未使用var声明的变量,就相当于window.变量或者window['变量']

function test(){
    v = "dsadas"  
    console.log(v)
}

test()    /*dsadas*/
console.log(v)    /*dsadas*/
console.log(window.v)   /*dsadas*/ 
console.log(window['v'])    /*dsadas*/

猜你喜欢

转载自www.cnblogs.com/ssyfj/p/9073614.html