全局变量遇到的坑

Posted 还能再菜点吗?

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全局变量遇到的坑相关的知识,希望对你有一定的参考价值。

这种情况结果一样
var aname="The Window";   

console.log(aname);//The Window
console.log(window.aname)//The Window


但是写在$(function(){........})中结果不等
$(function(){
var aname="The Window";   

console.log(aname);//The Window
console.log(window.aname)//underfind


});
案例二

var aname="The Window";   
var obj = {   
    aname:"My Object",   
    getNameFunc : function(){  
        return function(){   
            alert(this.aname);   
        };   
    }   
};
obj.getNameFunc()();//The Window
obj.getNameFunc()();//The Window

和

$(function(){

var aname="The Window";   
var obj = {   
    aname:"My Object",   
    getNameFunc : function(){  
        return function(){   
            alert(this.aname);   
        };   
    }   
};
obj.getNameFunc()//这里面的this位window
obj.getNameFunc()();//underfind  })

结果是因为作用于所引起的

详见:http://q.cnblogs.com/q/82633/

以上是关于全局变量遇到的坑的主要内容,如果未能解决你的问题,请参考以下文章