亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

誰能給我解釋一下視屏中的這段代碼具體是什么意思????

function?$(id){
return?typeof?id=="string"?document.getElementById(id):id;
}



正在回答

2 回答

$(id)是js document.getElementById(id)的簡寫,定義了這個方法以后調用的時候就可以直接用類似于jquery中那樣的$(“img-icon”).onclick簡單封裝。所以很多人喜歡這樣寫:

var $ = function(id){
return document.getElementById(id);
};

但是這一類js代碼會和與JQuery對象獲取函數沖突會與JQuery沖突的,導致JQuery獲取不了對象,出現類似于:Uncaught TypeError: Cannot set property ‘onclick’ of null 這樣的錯誤提示。

安全的寫法可以這樣

var $id = function (id) {
? ?return "string" == typeof id ? document.getElementById(id) : id;
};

或者:

var $id = function (id) {
? ?return typeof id == "string" ? document.getElementById(id) : id; ?
};

4 回復 有任何疑惑可以回復我~
#1

千萬分之一 提問者

非常感謝!
2014-12-16 回復 有任何疑惑可以回復我~

為何用"string" === typeof id 而不是"=="?

0 回復 有任何疑惑可以回復我~
#1

fiona23

都盡量用=== 少用==
2014-12-18 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

誰能給我解釋一下視屏中的這段代碼具體是什么意思????

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號