有什么区别:
$(function () {
});
和此:
function HideDiv() {
}
我知道第一个是jQuery函数,第二个是Javascript函数。
但我不知道为什么它在功能关键字之前推出选择器'$'。
我认为jQuery Selector用于查找html元素,例如:
$("#loading").hide('fade');
找到名称加载的元素并隐藏它。 问候。
答案 0 :(得分:3)
$是jQuery的简写,代表jQuery对象。这个背景基本上是一个简写:
jQuery(document).ready(function() { });
并充当onDOMReady函数,用于在页面加载时执行代码。您从根本上“找到”文档元素并在加载完成后运行脚本。
第二个只是一般功能
答案 1 :(得分:2)
差异非常大!
function HideDive(){
}
创建一个名为的函数,稍后您可以将其称为:HideDiv
$(function() {
});
完全不同的是:它使用jQuery注册匿名函数,实质上是说:当页面加载完成后,请调用此函数。
$( ... );
表示法是一种速记,表示jQuery(document).ready( ... )
。
希望这可以解决它!
答案 2 :(得分:2)
这两个都涉及到功能,但背景略有不同。第一个:
$(function() { ... });
既是函数调用,也是函数定义。调用是jQuery函数本身,其别名为“$”。函数调用有一个参数,该参数是一个匿名函数。 jQuery函数将通过保存对匿名函数的引用来响应此函数调用,然后 - 当文档准备好时 - 它将调用您的函数。
第二种形式只是一个简单的JavaScript函数定义语句。它创建一个名称可以被同一范围内的其他代码或任何词汇封闭范围调用的函数。
答案 3 :(得分:1)
前者是一个匿名函数,当DOM为ready与jQuery进行交互时调用该函数。它与以下类似:
$(document).ready(function() {
// ...
});
后者是一个命名函数,可以被其范围内的任何代码调用。
另一个有趣的函数语法是:
(function() {
// ...
})();
答案 4 :(得分:1)
第一个函数(“jQuery函数”)在技术上仍然是一个JavaScript函数,因为jQuery只是一个JavaScript库。但是,在这种特定情况下,此函数意味着jQuery特有的东西。具体来说,它是就绪函数,意味着它将在DOM准备就绪后运行(AKA,页面已加载)。
第二个功能是“常规”功能。这可以从JavaScript代码的其他部分调用(包括jQuery代码,如果你还记得,它是JavaScript)。这允许您封装可能重复使用的各种操作或信息(而不是反复重复)。您也可以将这两者结合起来,如下所示:
$(function() {
// Call the function...
MyFunctionToDoSomething();
});
function MyFunctionToDoSomething() {
// Do stuff here.
}
答案 5 :(得分:1)
第一个是$(document).ready(function(){})的简写[虽然在1.4之后不起作用我相信]。我可以看到它很容易与基于语法的匿名函数混淆。
典型的匿名函数看起来就像没有$的第一个例子。有关匿名函数的工作原理,请参阅Why do you need to invoke an anonymous function on the same line?。
第二个是标准的JS函数(也是一个可实例化的对象)。