【发布时间】:2012-07-28 16:31:34
【问题描述】:
我遇到了 JSLint 的问题,它提供了一个难以理解的错误:
我正在尝试分析以下结构的代码:
<script type="text/javascript">
var MyGlobalObj = MyGlobalObj || {}; //used for creating namespace security
MyGlobalObj.MyFunction = function () {
//valid javascript
}
$(document).ready(function () {
//Stuff I want analyzed
});
</script>
我在我的代码中混合使用了 javascript 和 jQuery。但是,JSLint 声称,与准备好的操作一致,即:
Unexpected '$'.
$(document).ready(function() {
对不起,但是……什么?为什么会出乎意料?什么是“正确”的实现方式?
Options I am using:
/*jslint white: true, browser: true, devel: true */
Entry in the predef box:
$
注意:在其他地方,我根据需要声明 $(variable) 没有问题。就这么一行。
【问题讨论】:
-
jQuery 是 JavaScript,你不能混合使用它;)
$(document).ready(...)之前的行是什么?如果有一个“意外的东西”,那么由于之前的东西,这个符号不是预期的。 -
@FelixKling 你说话的时候混合了英语和诗歌~
-
@TheZ Poetry 本身不是语言,就像 jQuery 不是语言一样。
-
@Ibu 开个玩笑,没有语言,诗歌就无法生存。语言是它的媒介,也是它的实质。语言是交流,诗歌是应用交流。 Jabberwocky 什么都没教过你吗? xD
-
@FelixKling 谢谢。我带着你的 cmets 回顾了代码,发现 JSLint 期望在 $ 符号之前的花括号上有一个分号。我已经更新了这个问题并提供了一个答案来更好地解释为什么会遇到这个错误。 JSLint 现在对我的代码很满意 :)
标签: javascript jquery jslint