0
我有以下有故障檢查在咖啡腳本空條件
@update_states = (countryElt, stateElt, callbackFn) ->
…
if callbackFn != null
callbackFn()
的問題是,咖啡腳本,即使沒有「callbackFn」參數傳遞給函數,「如果」塊正在執行。檢查參數是否爲空(即傳遞給函數的函數)的正確方法是什麼?
我有以下有故障檢查在咖啡腳本空條件
@update_states = (countryElt, stateElt, callbackFn) ->
…
if callbackFn != null
callbackFn()
的問題是,咖啡腳本,即使沒有「callbackFn」參數傳遞給函數,「如果」塊正在執行。檢查參數是否爲空(即傳遞給函數的函數)的正確方法是什麼?
代碼if callbackFn != null
轉換爲if(callbackFn !== null)
。如果您沒有通過callbackFn
參數,callbackFn = undefined
。 undefined !== null
。
正確的方式在CoffeeScript中做到這一點是:
if callbackFn? then callbackFn()
瞭解更多關於existential operators
幾乎可以肯定的縮進錯誤。試着把它放在一行上if if cb then cb()',或者爲更強大的版本'如果typeof cb是'function'那麼cb()'並且看看是否修復了。另外,你看過輸出的JavaScript嗎? –
我不知道但是做到了 – Dave