js中this用法实例详解
本文实例讲述了js中this用法。分享给大家供大家参考。具体如下:
1.指向window
全局变量
alert(this)//返回[objectWindow]
全局函数
functionsayHello(){ alert(this); } sayHello();
2.指向该对象(在全局里面this指向window,在某个对象里面this指向该对象,在闭包里面this指向window)
varuser="theWindow"; varbox={ user:'thebox', getThis:function(){ returnthis.user; }, getThis2:function(){ returnfunction(){ returnthis.user; } } }; alert(this.user);//theWindow alert(box.getThis());//thebox alert(box.getThis2()()); //theWindow(由于使用了闭包,这里的this指向window) alert(box.getThis2().call(box)); //thebox对象冒充(这里的this指向box对象)
3.用apply,call改变函数的this指向
functionsum(num1,num2){ returnnum1+num2; } functionbox(num1,num2){ returnsum.apply(this,[num1,num2]); //this表示window的作用域box冒充sum来执行 } console.log(box(10,10));//20
4.new对象
functionPerson(){ console.log(this)//将this指向一个新建的空对象 } varp=newPerson();
希望本文所述对大家的javascript程序设计有所帮助。