【发布时间】:2015-03-22 10:34:48
【问题描述】:
我已经阅读了很多关于 jQuery 及其语法的文章。但是我还没有完全理解它的语法,我真的很想更好更深入地理解它。
许多文章没有指出简单的语法规则(以及它们的必要性)。
截至目前,我遇到了语法理解问题:
我的 HTML:
<body>
<a href="http://www.jquery.com" title="anchor1">jQuery.com</a>
<a href="http://www.jquery.com" title="anchor2">jQuery.com</a>
<a href="http://www.jquery.com" title="anchor3">jQuery.com</a>
<!-- JQUERY -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
(function ($) {
// EXAMPLE 1
$("a").each(function () {
console.log(this.title);
});
})(jQuery); // ... everything works fine.
(function ($) {
// EXAMPLE 2
$("a").each(function () {
console.log(this.title);
});
}); // ... missing (jQuery). Why isn't this working?
$(function () { // ... notice the $ at the beginning.
// EXAMPLE 3
$("a").each(function () {
console.log(this.title);
});
}); // ... missing (jQuery). Why IS this working?
// EXAMPLE 4
$("a").each(function () {
console.log(this.title);
}); // ... everything works fine.
</script>
</body>
我将阐明我是如何理解代码的,如果您以非常基本的方式回答我,我将非常感激。请指出我所有的误解!
到目前为止我的理解和问题:
示例 1:我创建了一个匿名 JavaScript 函数。这个函数在浏览器读取它的那一刻被执行。我将 jQuery-Object 传递给它(带有 ($) 但我不知道为什么这在那时很重要)。从现在开始,我的函数'speaks' jQuery(它理解它的语法——我假设)。在我的 JavaScript 函数的最后,我再次将 jQuery 对象传递给它(但为什么有必要这样做呢?)。请赐教。
示例 2: 最后我尝试了相同的功能,但没有使用 (jQuery)。现在它不工作了。我明白缺少什么。但是为什么最后那个(jQuery)如此重要?
示例 3: 现在我用 $ 开始了我的 Javascript 函数,我假设从现在开始我的整个函数都被包裹在一个 jQuery 对象中。在这个 jQuery 对象中,我的函数理解 jQuery 语法。最后不需要(jQuery)。
示例 4: 这里我没有构建 JavaScript 函数。我只是使用 jQuery 来选择并返回 ("a")。这段代码在浏览器读取它的第二秒就被执行。无需等待文档准备就绪。
我的问题基本上是:
在示例 1 中,为什么开头的 ($) 和结尾的 (jQuery) 是必需的?什么目的?
如果我能更深入地了解“正确阅读 jQuery 语法”并谈论 jQuery 语法及其要求,我真的很感激。谢谢。
【问题讨论】:
-
问问自己——
$是什么? -
@u_mulder $ 代表 jQuery。据我所知。 $( ) === jQuery( )
标签: javascript jquery syntax