4
我在瀏覽的jQuery源和撞到這個:indexOf.call VS array.indexOf在jQuery的源
return indexOf.call(array, elem);
- Line 683
我想知道什麼是背後的邏輯,爲什麼不這樣做:
return array.indexOf(elem);
我在瀏覽的jQuery源和撞到這個:indexOf.call VS array.indexOf在jQuery的源
return indexOf.call(array, elem);
- Line 683
我想知道什麼是背後的邏輯,爲什麼不這樣做:
return array.indexOf(elem);
我的猜測是該代碼的作者只是不想在意什麼目標通過我nto .inArray()
。
例如,如果我們在傳遞的變量上調用.indexOf()
,則會調用$.inArray(42, 'hello')
顯然會崩潰。 Number.prototype
確實(連同其他類型)不知道這種方法。
通過對傳遞的變量應用Array.prototype.indexOf
方法,.indexOf()
方法將照顧我們。