我適應從優秀CodeMirror我的罪惡陰謀的sql-hint.js代碼...的JavaScript片不帶參數或支架(以CodeMirror SQL-hint.js代碼)
但我已經遇到了一個線的JavaScript超越了我。我不明白,也找不到解釋它的任何東西。
這是行34 CodeMirror主\插件\提示\ SQL-hint.js,它看起來像這樣:
function getItem(list, item) {
if (!list.slice) return list[item]; // <--- THIS LINE!!!!!
for (var i = list.length - 1; i >= 0; i--) if (getText(list[i]) == item)
return list[i];
}
我不明白的命令是這樣的:
if (!list.slice)
沒有參數,並且沒有括號。 這到底是怎麼回事?我認爲魔術......
請注意,它不說此:
if (!list.slice())
檢查slice是否存在,無論它是對象,字符串,日期還是... ** function ** - 如果list.slice沒有任何錯誤,那麼該代碼將爲true false(false,0,'' ,未定義,null) –