相容所有瀏覽器array物件indexOf()方法
indexOf()方法是ES5中新增,具有一定的瀏覽器相容問題。
關於此方法的基本用法可以參閱js陣列 indexOf()一章節。
下面就通過程式碼程式碼例項分享一段能夠相容所有瀏覽器的indexOf()方法。
程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼if(!Array.prototype.indexOf){ Array.prototype.indexOf=function(obj,start){ for(var index=(start || 0), j=this.length;index<j;index++){ if(this[index]===obj){ return index; } } return -1; } } var arr=[1,2,3,4,5]; console.log(arr.indexOf(3,1))
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).if(!Array.prototype.indexOf){},判斷當前瀏覽器是否支援indexOf()方法。
(2).Array.prototype.indexOf=function(obj,start){},如果不支援,那麼就自定義一個indexOf()方法,第一個引數是要查詢的元素,第二個參數列示查詢的起始位置。
(3).for(var index=(start || 0), j=this.length;index<j;index++){
if(this[index]===obj){
return index;
}
}如果沒有傳遞start引數,那麼就是從索引值為0的位置開始查詢,也就是第一個位置開始查詢。
通過遍歷的方式找到指定元素,然後返回索引值。
(4).return -1,沒有找到就返回-1。
二.相關閱讀:
(1).prototype屬性的內容參閱javascript prototype原型一章節。
(2).===參閱javascript的三個等號(===)的作用一章節。
相關文章
- 相容所有瀏覽器的陣列indexOf()方法瀏覽器陣列Index
- forEach()相容所有瀏覽器瀏覽器
- 原生js如何建立相容所有瀏覽器的xmlhttp物件JS瀏覽器XMLHTTP物件
- 相容所有瀏覽器的獲取事件源物件程式碼瀏覽器事件物件
- 相容所有瀏覽器的placeholder效果瀏覽器
- 相容所有瀏覽器的getElementsByClassName()函式瀏覽器函式
- js相容所有主流瀏覽器建立XMLhttpRequest物件例項程式碼JS瀏覽器XMLHTTP物件
- 相容所有瀏覽器的圓角出效果瀏覽器
- 相容所有瀏覽器的DOMContentLoaded事件瀏覽器事件
- 相容所有瀏覽器的對聯廣告程式碼瀏覽器
- 相容所有瀏覽器的阻止事件冒泡程式碼瀏覽器事件
- 相容所有瀏覽器的阻止事件冒泡封裝瀏覽器事件封裝
- 相容所有瀏覽器的progress程式碼例項瀏覽器
- js相容各個瀏覽器的事件物件JS瀏覽器事件物件
- 相容所有瀏覽器的圖片上傳本地預覽效果瀏覽器
- 滾動滑鼠縮放圖片相容所有瀏覽器瀏覽器
- js相容所有瀏覽器的事件繫結程式碼JS瀏覽器事件
- 相容所有瀏覽器的阻止事件冒泡js程式碼瀏覽器事件JS
- 相容所有瀏覽器的模糊效果程式碼例項瀏覽器
- IE瀏覽器相容瀏覽器
- parseInt()瀏覽器相容瀏覽器
- 9:瀏覽器相容瀏覽器
- 火狐瀏覽器相容模式怎麼設定在哪裡 火狐瀏覽器相容模式設定方法瀏覽器模式
- ie瀏覽器相容模式怎麼設定在哪裡 ie瀏覽器相容模式設定方法瀏覽器模式
- 谷歌瀏覽器相容模式怎麼設定 chrome瀏覽器相容模式切換方法介紹谷歌瀏覽器模式Chrome
- 相容所有瀏覽器的點選複製黏貼效果瀏覽器
- 相容所有瀏覽器js設定元素透明度效果瀏覽器JS
- js相容所有瀏覽器的pageX和pageY屬性JS瀏覽器
- 相容所有瀏覽器的display:inline-block效果瀏覽器inlineBloC
- 相容所有瀏覽器的js滑鼠中鍵滾動事件瀏覽器JS事件
- 相容所有瀏覽器的密碼框輸入提示效果瀏覽器密碼
- 相容所有瀏覽器的nextSibling瀏覽器
- javascript相容低版本IE瀏覽器的事件物件JavaScript瀏覽器事件物件
- 關於瀏覽器相容瀏覽器
- 瀏覽器相容性瀏覽器
- CSShack瀏覽器相容一覽表CSS瀏覽器
- Element屬性方法的瀏覽器相容性概覽瀏覽器
- 360極速瀏覽器相容模式怎麼設定 360極速瀏覽器相容模式設定方法瀏覽器模式