this是什么? 任何函数本质上都是通过某个对象调用的,如果没有指定则是window 所有函数内部都有一个变量this 它的值是调用函数的当前对象 如何确定this? test():window p.test():p new test():创建新对象 p.call(obj):obj
functtion Person(name){ console.log(this); this.name = name; this.getName=function(){ console.log(this); return this.name; }; this.setName = function(){ console.log(this); this.name = name; } } Person("ww');//this是window var p = new Person('xx');//this是p p.getName();//this是p var obj={}; p.setName.call(obj,"black");//this是obj var test = p.setName; test();//this是window function fun1(){ function fun2(){ console.log(this); } fun2();//this是window } fun1();