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