相對(duì)于很多其他的面向?qū)ο笳Z(yǔ)言來說,this代表的就是當(dāng)前對(duì)象。例如Java中的this就是編譯期間確定的。而在 JavaScript 中,this 是動(dòng)態(tài)綁定,或稱為運(yùn)行期綁定的
Java中的this
在以下代碼中。this代表的就是p對(duì)象。
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 含義要豐富得多,它可以是全局對(duì)象、當(dāng)前對(duì)象或者任意對(duì)象,這完全取決于函數(shù)的調(diào)用方式。JavaScript 中函數(shù)的調(diào)用有以下幾種方式:作為對(duì)象方法調(diào)用,作為函數(shù)調(diào)用,作為構(gòu)造函數(shù)調(diào)用,和使用 apply 或 call 調(diào)用。下面我們將按照調(diào)用方式的不同,分別討論 this 的含義。
1.作為普通函數(shù)調(diào)用
在普通函數(shù)里,this代表的是window對(duì)象
function test(){alert(this);}test();
2.作為構(gòu)造函數(shù)調(diào)用
作用構(gòu)造函數(shù)調(diào)用的時(shí)候,它代表的是當(dāng)前對(duì)象。這個(gè)就和Java一樣了。
function Person(name,age){this.name = name;this.age = age;}
以上所述是小編給大家介紹的JavaScript中的this關(guān)鍵字,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注