一般來(lái)說(shuō)想要理解這段代碼,需要掌握如下兩個(gè)函數(shù)
一個(gè)是 typeof 一個(gè)就是三元運(yùn)算符
看完了上面的文章再看下面的就比較好理解了
一般來(lái)說(shuō)常用的函數(shù)代碼
function $(id){ return typeof id==='string'?document.getElementById(id):id;}var GetBy = function (id) { return "string" == typeof id ? document.getElementById(id) : id; };功能都是一樣的。
這個(gè)函數(shù)的作用就是之后用到id選擇器可以簡(jiǎn)寫,至于判斷的意義就是傳入的參數(shù)為字符串就返回document.getElementById(id),其他的就返回參數(shù)本身,這個(gè)只是一個(gè)獲取頁(yè)面dom元素的一個(gè)簡(jiǎn)陋版本的函數(shù),還不夠完善。
1、這是一段JavaScript代碼
$就是一個(gè)標(biāo)示符。 也可以用getID等,如果你的頁(yè)面中使用了jquery不建議使用$,因?yàn)閖query默認(rèn)使用的就是$
?:是運(yùn)算符
return "string" == typeof id ? document.getElementById(id) : id;
也可以寫成是
if("string" == typeof id ) return document.getElementById(id);else return id; 有人感覺上面的代碼,為什么不用{}括起來(lái),因?yàn)榇a比較短只有一行是不需要{}
如下所示
if("string" == typeof id ) { return document.getElementById(id); }else { return id; }具體的可以參考這篇文章://m.survivalescaperooms.com/article/50197.htm
2、表達(dá)式1?表達(dá)式2:表達(dá)式3
這是一個(gè)式子;他的運(yùn)算過(guò)程是:先計(jì)算表達(dá)式1,如果為true,這個(gè)式子就取表達(dá)式2的運(yùn)算結(jié)果,否則整個(gè)式子取值就是表達(dá)式3的運(yùn)算結(jié)果,不懂的朋友可以參考這篇文章://m.survivalescaperooms.com/article/64237.htm
在你這個(gè)例子中 表達(dá)式1是 "string" == typeof id,功能是判斷id的數(shù)據(jù)類型是否為string ,==就是判斷是否相等的運(yùn)算符啊
表達(dá)式2是 document.getElementById(id) 獲取ID為 參數(shù)id的值的html元素
表達(dá)式3 就是 id這個(gè)變量(一般來(lái)說(shuō)這個(gè)變量多為object),如果是對(duì)象就不用document.getElementById了,直接就可以使用了。
武林網(wǎng)原創(chuàng)整理,轉(zhuǎn)載請(qǐng)注明出處
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注