this是js的一個關鍵字,隨著函數使用場合不同,this的值會發生變化。但是總有一個原則,那就是this指的是調用函數的那個對象。
1、純粹函數調用。
function test() { this.x = 1; alert(x);}test();其實這里的this就是全局變量。看下面的例子就能很好的理解其實this就是全局對象Global。其實這里的this就是全局變量。看下面的例子就能很好的理解其實this就是全局對象Global。
var x = 1;function test() { alert(this.x);}test();//1var x = 1;function test() { this.x = 0;}test();alert(x);//0 2、作為方法調用,那么this就是指這個上級對象。
function test() { alert(this.x);}var o = {};o.x = 1;o.m = test;o.m(); //13、作為構造函數調用。所謂構造函數,就是生成一個新的對象。這時,這個this就是指這個對象。
function test() { this.x = 1;}var o = new test();alert(o.x);//14、apply調用
var x = 0;function test() { alert(this.x);}var o = {};o.x = 1;o.m = test;o.m.apply(); //0o.m.apply(o);//1當apply沒有參數時,表示為全局對象。所以值為0。
以上這篇深入理解js中this的用法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答