this是js的乙個關鍵字,隨著函式使用場合不同,this的值會發生變化。但是總有乙個原則,那就是this指的是呼叫函式的那個物件。
1、純粹函式呼叫。
function test()
test();
其實這裡的this就是全域性變數。看下面的例子就能很好的理解其實this就是全域性物件global。其實這裡的this就是全域性變數。看下面的例子就能很好的理解其實this就是全域性物件global。
var x = 1;
function test()
test();//1
var x = 1;
function test()
test();
alert(x);//0
2、作為方法呼叫,那麼this就是指這個上級物件。
function test()
var o = {};
o.x = 1;
o.m = test;
o.m(); //1
3、作為構造函式呼叫。所謂建構函式,就是生成乙個新的物件。這時,這個this就是指這個物件。
function test()
var o = new test();
alert(o.x);//1
var x = 0;function test()
var o = {};
o.x = 1;
o.m = test;
js中with的用法
with語句用於設定 在特定物件中的作用域。它的語法 with expression statement 例如 var smessage hello with smessage alert touppercase 輸出 hello 在這個例子中,with語句用於字串,所以在呼叫touppercase...
JS中THIS的用法
this 永遠指向函式執行時所在的物件,而不是函式被建立時所在的物件。匿名函式或不處於任何物件中的函式指向 window 例 1var foo foo.bar 輸出 true 2var foo foo.bar 輸出 domwindow 3var foo foobar foo.bar foobar.b...
JS中 的用法
var o var test o.flag 等效於var test o.flag false alert test 由於對null與undefined用 操作符時都會產生true的結果,所以用兩個感嘆號的作用就在於,如果明確設定了o中flag的值 非 null undefined 0 等值 自然te...