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