- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑这个 Coffeescript 类,在一个应用程序中,每个类都在自己的文件中。
class Manager extends Person
title: titles["manager"]
如果该文件在“标题”对象之前加载,则会产生错误。我假设这是因为 Coffeescripts 安全包装器在首次加载此文件时执行“.call(this)”?
否则,如果我要延迟运行任何代码直到整个页面完全加载($(document.ready())),我可以确定所有 javascript 文件在任何代码实际运行之前都已完全加载。
这不会造成一些烦人的加载顺序问题,还是我没有做正确的事情?
最佳答案
它不能既是订单问题又是包装问题。用立即运行的函数包装某些东西不会影响顺序,只会影响范围。
如果titles
在另一个文件中定义,然后是 class Manager
的范围没关系。所以,这是一个顺序问题。 titles
如何定义?
if I were to delay running any code until after the entire page had fully loaded ($(document.ready()), I could be sure that all the javascript files were fully loaded before any code actually ran.
不完全是。 $(document).ready()
(注意括号——没有 document.ready
函数...)延迟函数的执行,直到页面的所有 HTML 都已加载,这并不意味着所有 JavaScript 都已加载。好消息是:从 JavaScript 代码的角度来看,是否加载了其他 JavaScript 文件并不重要,因为它们都是按顺序运行的。 (注意:我在这里假设您没有做任何花哨的事情,比如从您的 JavaScript 代码中添加额外的 <script>
标签。)所以只要您有
<script src="titles.js"></script>
<script src="Manager.js"></script>
您可以放心Manager.js
只会在 titles.js
之后运行有。
警告!依赖$(document).ready()
订购 JS 代码是一个常见的错误,会导致混淆!如果您的 HTML 看起来像这样
<script src="Manager.js"></script>
<script src="titles.js"></script>
哪里titles.js
创建一个名为 titles
的全局和 Manager.js
看起来像这样
$(document).ready ->
console.log titles
那么输出有时会是titles
,并且有时是undefined
.为什么?因为作为the docs说,
If
.ready()
is called after the DOM has been initialized, the new handler passed in will be executed immediately.
并且当第一个 JS 文件运行时,DOM 可能已经被初始化了! (实际上,如果浏览器缓存了页面的 HTML,则往往会发生这种情况。)
所以,保持简单。只需以正确的顺序加载您的脚本。请记住,出于所有实际目的,浏览器会按顺序将您的脚本串联到一个 JS 文件中。
关于Coffeescript、Backbone 和加载顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7329818/
我有以下 Coffeescript: $ -> $('#new_event').submit -> $.post( $(this).attr('acti
Coffeescript docs包含以下简介 String Interpolation, Block Strings, and Block Comments Ruby-style string in
如何获得类似于 HTML 的 target='_blank' 的行为在 CoffeeScript 里面? 到目前为止,我已经尝试过: window.location = "/site/#{pk}/go
array = [1,2,3,4] for num in array //do something num的值是多少在函数的其余部分?是否num得到范围到循环? 最佳答案 不,num不会被限制
Coffeescript 使用存在运算符来确定变量何时存在,并且在 coffeescript documentation 中它表明 something?将编译为 something !== undef
我一直在阅读一些关于 coffeescript 的继承模型的内容,我感觉自己正处于一场我真的不理解的意识形态辩论的边缘。所以,我会非常高兴地发现我只是以错误的方式做事。 基本上我正在做的是编写一组小部
这个问题在这里已经有了答案: How to iterate over the keys and values in an object in CoffeeScript? (4 个回答) 8年前关闭。
让我们定义这个简单的代码: class Foo @foo = 'blah' console.log(@foo) class Bar extends Foo constructor: ()
除了这些示例之外,我正在努力寻找任何好的 CoffeeScript 和模式匹配示例: {x, y} = sprite css = {opacity, fontFamily} 我在 Erlang 中使用
我想做一个 if 语句来检查一个对象是否是一个空对象。 空对象是指如果我执行 console.log(object) 它会打印出 {}。 我该怎么做呢? 最佳答案 myObject = {} if O
在 JS 中创建文字数组时: [{ name: 'david', value: 'blue' }, { name: 'harold', value: 'orange' }] 我能看到在 Coffees
我的问题类似于发布的 here .本质上我想读一个配置file.json看起来像这样: { "message": "Error in #{baseName} at #{directory}" }
如果我有一个类,则将多个参数传递给: class Foo constructor: (parameters) -> @bar = parameters.bar @moo = paramet
coffeescript中是否有 namespace 的内在支持? 适当的命名空间似乎确实可以帮助Coffeescript有所帮助,尽管我似乎无法找到任何迹象表明存在对此的支持。 最佳答案 既可以在自
我有一个具有一些jquery事件侦听器的coffeescript类。我想使用粗箭头=>以避免引用该类,但是我仍然需要引用通常与this一起使用的元素。如何同时使用两者? class PostForm
我要转换 console.log({ a: 'a' }, { b: 'b' }); 进入 CoffeeScript。我发现的唯一方法是 console.log a: 'a', b:
我真的很喜欢这个: var value = maxValue > minValue ? minValue : maxValue; Coffeescript 中是否有同样简洁的东西? 最佳答案 valu
我想在coffeescript中编写一个静态帮助器类。这可能吗? 类别: class Box2DUtility constructor: () -> drawWorld: (world, co
super 简单的coffeescript问题 circles = [] for coordinate, i in coordinates circles[i] = new MakeCircl
我在看this great video由 Jeremy 在 CoffeeScript 上发表。他解释说,CoffeeScript 的理想之一是让“一切都是表达式”。 CoffeeScript 离这个理
我是一名优秀的程序员,十分优秀!