在利用JavaScript 時,認識到Internet Explorer 缺乏Array.prototype.indexOf 的ECMAScript 實現至關重要(),包括IE8 及以下版本。此限制不會造成重大障礙,因為您可以使用以下程式碼輕鬆地在頁面上擴展此功能:
Array.prototype.indexOf = function(obj, start) { for (var i = (start || 0), j = this.length; i < j; i++) { if (this[i] === obj) { return i; } } return -1; }
何時實施:
您可能會質疑是否應該在所有頁面上實現此擴展,並檢查原型函數是否存在。但是,強烈建議僅在明確需要此功能的頁面上實現它。
總結:
盡可能避免瀏覽器偵測程式碼,因為通常認為它不受歡迎的。相反,依靠特徵檢測來識別 Array.indexOf() 函數的存在並相應地實現它。利用上面建議的檢查可確保相容性,而無需不必要的瀏覽器特定程式碼。
以上是如何修復 Internet Explorer 中的「Array.prototype.indexOf()」問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!