相對於很多其他的面向對象語言來說,this代表的就是當前對象。例如Java中的this就是編譯期間確定的。而在 JavaScript 中,this 是動態綁定,或稱為運行期綁定的
Java中的this
在以下代碼中。this代表的就是p對象。
public class Test { public static void main(String[] args) { Person p = new Person("zmt",30); System.out.println(p.name); } } class Person{ String name; int age; Person(String name,int age){ this.name = name; this.age = age; } }
JavaScript中的this
JavaScript 中的 this 含義要豐富得多,它可以是全局對象、當前對象或者任意對象,這完全取決於函數的調用方式。JavaScript 中函數的調用有以下幾種方式:作為對象方法調用,作為函數調用,作為構造函數調用,和使用 apply 或 call 調用。下面我們將按照調用方式的不同,分別討論 this 的含義。
1.作為普通函數調用
在普通函數裡,this代表的是window對象
function test(){ alert(this); } test();
2.作為構造函數調用
作用構造函數調用的時候,它代表的是當前對象。這個就和Java一樣了。
function Person(name,age){ this.name = name; this.age = age; }
以上所述是小編給大家介紹的JavaScript中的this關鍵字,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!