为什么我在以下代码中收到错误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()
。尽管有错误,该函数仍会执行。渔获物在哪里?
答案 0 :(得分:3)
回答原来的问题
在大多数带闭包的语言(包括JavaScript)中,内部预加载和外部预加载可以并且将是分开的。 CoffeeScript虽然不允许在更深的范围内进行阴影或定义相同的变量,但这样做会覆盖全局变量。有关coffeescript范围的更多信息,请阅读http://www.techrepublic.com/article/avoid-using-magic-numbers-and-string-literals-in-your-code/。