对 CoffeeScript 中作用域的误解
Misunderstanding of scopes in CoffeeScript
为什么我在以下代码中收到错误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(中,内部预加载和外部预加载可以而且将是分开的。虽然 CoffeeScript 不允许在更深的范围内隐藏或定义相同的变量,这样做会覆盖全局变量。阅读本文,了解有关咖啡脚本范围的更多信息。
相关文章:
- 监视函数从服务返回不起作用,但作用域函数起作用
- 将作用域存储在JSON中
- 从控制器继承了隔离的作用域以生成可重用的指令
- 从ng模板访问作用域
- 调用私有作用域
- 对父作用域的指令更新延迟了一步
- 正在$rootScope上达到控制器作用域$在内部控制器上
- 两个指令创建新的继承的和隔离的作用域-元素得到哪个
- 这两个关于 JavaScript 作用域链的例子有什么区别?
- 在具有命名作用域的自定义Polymer元素中隐藏表行
- AngularJS指令隔离作用域
- Angularjs:修改js中的作用域,稍后在页面中使用
- 访问多个指令的隔离作用域
- Javascript作用域和Ajax调用;工作不正常
- 向Angular作用域对象添加对象数组——TypeError
- ng重复中的ng模型-初始化唯一作用域属性
- 在put方法之前从作用域获取数据
- 对 CoffeeScript 中作用域的误解
- Javascript全局作用域误解
- nodejs中的变量作用域误解