jQuery中的apply()方法是用于將一個(gè)函數(shù)的this關(guān)鍵字設(shè)置為所傳遞的參數(shù)值的方法。這種設(shè)置通常用于把一個(gè)構(gòu)造函數(shù)應(yīng)用到一個(gè)數(shù)組上,使得數(shù)組內(nèi)的每個(gè)元素都成為這個(gè)構(gòu)造函數(shù)的實(shí)例對(duì)象。
// 以原始構(gòu)造函數(shù)為例 function Person(name, age) { this.name = name; this.age = age; } // 使用apply()方法將數(shù)組中的對(duì)象應(yīng)用于構(gòu)造函數(shù)中 var person1 = new Person.apply(null, ['Alice', 25]); var person2 = new Person.apply(null, ['Bob', 30]);
上面的代碼中,我們使用apply()方法來在Person構(gòu)造函數(shù)上應(yīng)用數(shù)組中的元素,從而生成了兩個(gè)具有不同屬性的實(shí)例對(duì)象(person1和person2)。
在語法上,apply()方法需要兩個(gè)參數(shù)。第一個(gè)參數(shù)是要綁定給this關(guān)鍵字的值(如果沒有,則傳遞null或undefined),而第二個(gè)參數(shù)應(yīng)該是一個(gè)具有arguments對(duì)象內(nèi)容的數(shù)組。
總之,jQuery的apply()方法可以很方便地將數(shù)組內(nèi)的對(duì)象實(shí)例化為構(gòu)造函數(shù)的實(shí)例對(duì)象,同時(shí)也可以應(yīng)用于其他需要改變this關(guān)鍵字指向的情況。