国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript中關(guān)于indexOf的使用方法與問題小結(jié)

2019-11-21 00:18:53
字體:
供稿:網(wǎng)友
這個方法相當(dāng)有用,很多編程語言中都有相對應(yīng)的實(shí)現(xiàn),javascript中也不例外,然而當(dāng)我在ie中運(yùn)行如下代碼時候:
復(fù)制代碼 代碼如下:

var arr = [1,2,3];
alert(arr.indexOf(1));

卻被提示“對象不支持此屬性和方法” 。而在chrome,ff下去運(yùn)行良好。遂去求問google大神,發(fā)現(xiàn)原來js中Array的indexOf方法在js1.6版本中才給予了實(shí)現(xiàn),ie7,8中只實(shí)現(xiàn)到了js1.3版本,chrome為js1.7版本,ff為js1.8版本。(ie依舊慢半拍)。無奈,只好針對ie進(jìn)行擴(kuò)展:
復(fù)制代碼 代碼如下:

Array.prototype._indexOf = function(n){
if("indexOf" in this){
return this["indexOf"](n);
}
for(var i=0;i<this.length;i++){
if(n===this[i]){
return i;
}
}
return -1;
};

使用如下:
復(fù)制代碼 代碼如下:

var arr = ["1","2","3"];
alert(arr._indexOf("2"));

這里我們針對Array的原型進(jìn)行了擴(kuò)展,在擴(kuò)展方法的命名上我加上了"_"字符,我認(rèn)為這是一個好的習(xí)慣,當(dāng)你在針對原型進(jìn)行擴(kuò)展的時候有必要對自己的擴(kuò)展加以標(biāo)記。
在_indexOf方法中,我們首先判斷當(dāng)前Array是否實(shí)現(xiàn)了"indexOf" 方法,如果是的話直接調(diào)用系統(tǒng)發(fā)法,否則進(jìn)行遍歷。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 东兰县| 融水| 江油市| 页游| 兰西县| 巩留县| 梧州市| 涡阳县| 麻江县| 丽水市| 澄迈县| 北碚区| 徐汇区| 鄂托克旗| 故城县| 桓仁| 老河口市| 军事| 洮南市| 陇西县| 永吉县| 西林县| 扶沟县| 苏尼特左旗| 称多县| 昆山市| 洪江市| 尤溪县| 巴塘县| 辽中县| 东源县| 兴文县| 岳阳市| 陆河县| 新郑市| 贵溪市| 姚安县| 仪征市| 临武县| 柯坪县| 遵义市|