本文分析講述了jQuery中inArray方法注意事項(xiàng)。分享給大家供大家參考,具體如下:
jquery為web開發(fā)者提供了很大的便捷,本文寫作的目地是提醒大家慎重jquery中的inArray方法。
大家都知道javascript是一種弱類型語言,對(duì)于數(shù)字類型和字符類型,可以隨意切換(例如:1+""="1"),下面開始說主題:
jquery的一個(gè)方法inArray(ele, array)是判斷ele是否在array中存在,返回值是該元素第一次出現(xiàn)在數(shù)組array中的下標(biāo),沒有時(shí)返回-1。
例如:
var a = 1;var array = [1,2,3];var b = $.inArray(a, array);
此時(shí),b等于0。
但是,如果此時(shí)將a="1";,那么,再執(zhí)行一下:
b = $.inArray(a, array);
此時(shí),b等于-1。這將帶來一個(gè)問題,因?yàn)橛械娜丝赡苤幌M玫竭@樣的判斷:"1" == 1,該邏輯表達(dá)式實(shí)在在javascript環(huán)境中,返回的是true,但是,在inArray中,返回的確實(shí)false,所以,如果一個(gè)數(shù)組中,存放的是非對(duì)象變量,尤其是對(duì)數(shù)字進(jìn)行判斷時(shí),最好采用原始的判斷方法。
也可以采用正則表達(dá)式來驗(yàn)證如下:
var a = 1;var reg = new RegExp("(^"+a+",)|(^"+a+"$)|(,"+a+",)|(,"+a+"$)");var array = [1,2,3,4];reg.test(array.toString());// truea = "1";reg.test(array.toString());// true好了,就說這么多~~
更多關(guān)于jQuery數(shù)組相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jquery數(shù)組用法總結(jié)》
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注