为什么我在以下代码中收到错误 Uncaught TypeError: preload is not a function
?
preload = (event, ui) ->
preload = new createjs.LoadQueue()
preload.loadFile('/images/medium/missing.png')
return
$('.tool').draggable(
{
revert: true
drag: (event, ui) ->
preload(event, ui)
})
我想我已经定义了 preload()
。尽管有错误,该函数仍会执行。问题在哪里?
最佳答案
回答你原来的问题
在大多数带有闭包的语言(包括 JavaScript)中,内部 preload 和外部 preload 可以而且将会是分开的。 CoffeeScript 虽然不允许在更深的范围内隐藏或定义相同的变量,但这样做会覆盖全局变量。阅读This article有关 coffeescript 范围的更多信息。
关于javascript - 对 CoffeeScript 范围的误解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35390789/