由于渲染 .js 脚本的顺序,我的应用程序遇到了真正的问题。例如http://jsfiddle.net/qCAW3/1 ,除非我更改 js 脚本的加载顺序,否则这些项目将不会变为可拖动。
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
任何人都可以解释一下造成这种情况的原因吗?如果我更改顺序以使可拖动项目正常工作,那么我的应用程序的其他 javascript 部分将停止运行。
最佳答案
依赖关系,即某些代码依赖于其他代码的情况。在网页上,JavaScript 文件按照声明的顺序执行。这对于依赖关系很重要!
假设您有两个 .js
文件,如下所示:
// person.js
var Person = function(name) {
this.name = name;
};
Person.prototype.greet = function() {
alert("Hi, " + name);
}
另一个文件:
// roster.js
var roster = [
new Person("Alex"),
new Person("Eddy")
];
for (var i = 0; i < roster.length; i++) {
roster[i].greet();
}
如果我们先加载roster.js
,它就会爆炸。 Person
构造函数尚不可用,无论如何调用它都会引发期望。
如果您加载 person.js
,然后加载 roster.js
,那么当名册代码运行时,您就可以使用 Person
。
就您而言,出于完全相同的原因,您需要在使用 jQuery 的任何代码之前加载 jQuery。
关于javascript - jquery/.js 脚本的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17097093/