1 回答

TA貢獻1802條經(jīng)驗 獲得超10個贊
func.apply(thisArg, [argsArray])?:
thisArg:為調(diào)用func提供的this的值。
請注意,這可能不是該方法看到的實際值:如果該方法是非嚴格模式代碼中的函數(shù),則 null 和 undefined 將被替換為全局對象,原始值將被裝箱。此參數(shù)是必需的。
argsArray:可選 一個類似數(shù)組的對象,指定應調(diào)用 func 的參數(shù),如果不應向函數(shù)提供參數(shù),則指定 null 或 undefined。
就你而言:
this[i] 是屬于 NodeList 的當前元素。
每個都是添加到 NodeList 的新函數(shù)您可以稍后使用,例如.querySelectorAll('p')
這是一個例子:
NodeList.prototype.each = function(fn) {
? ? for (var i = 0; i < this.length; i++) {
? ? ? ? console.log('this[' + i + ']=' + this[i].outerHTML);
? ? ? ? fn.apply(this[i], [i, this[i]]);
? ? }
? ? return this;
};
document.querySelectorAll('p').each(function(idx, ele) {
? ? console.log('each call: idx=' + idx + ' and ele=' + ele.outerHTML);
})
<p>1</p>
<p>2</p>
<p>3</p>
添加回答
舉報