Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么这里使用jQuery语法?_Javascript_Jquery - Fatal编程技术网

Javascript 为什么这里使用jQuery语法?

Javascript 为什么这里使用jQuery语法?,javascript,jquery,Javascript,Jquery,在这个screencast()中,我想我经常看到jQuery语法被用来包装和定义没有从jQuery中获益的函数。例如: <script> $(function() { // some code to run at load time }); </script> $(函数(){ //一些代码在加载时运行 }); 如果没有第2行和第4行,编写代码会更短。采用这种方式编写代码有什么价值吗?通过要求库在整个DOM就绪之前不要运行jQuery,代码“受益于jQ

在这个screencast()中,我想我经常看到jQuery语法被用来包装和定义没有从jQuery中获益的函数。例如:

<script>
  $(function() {
    // some code to run at load time
  });
</script>

$(函数(){
//一些代码在加载时运行
});

如果没有第2行和第4行,编写代码会更短。采用这种方式编写代码有什么价值吗?

通过要求库在整个DOM就绪之前不要运行jQuery,代码“受益于jQuery”。例如,如果该代码位于
中,则对DOM的引用(通过“id”或“class”或其他任何方式)通常不起作用,因为主体尚未加载,因此没有可查找的元素。

通过要求库在整个DOM就绪之前不要运行它,代码是“受益于jQuery”。例如,如果该代码位于
中,则对DOM的引用(通过“id”或“class”或其他任何方式)通常不起作用,因为主体尚未加载,因此没有要查找的元素。

即使函数未显式使用JQuery,它也将在
文档的
ready
事件上执行。使用
window.onload=function(){}
也可以达到同样的效果,但是JQuery的版本更好,因为它允许任意数量的函数监听
ready
事件

即使函数没有显式使用JQuery,它也会在
文档的
ready
事件上执行。使用
window.onload=function(){}
也可以达到同样的效果,但是JQuery的版本更好,因为它允许任意数量的函数监听
ready
事件

此语句是一个文档就绪语句,基本上是说“在DOM准备好被操作之前,请不要运行此块中的任何代码。”

此语句是一个文档就绪语句,基本上是说“在DOM准备好被操作之前,请不要运行此块中的任何代码。”

这没什么错,只是在某些情况下,您可能希望在查找的DOM对象存在时立即使用函数,所以我们将函数保留在外部,并尽快使用“on*”事件。但将其包装在jquery all DOM ready函数中只是一种更安全的编写方式。

只有在某些情况下,您可能希望在查找的DOM对象存在时立即使用函数,所以我们将函数留在外部,并尽快使用“on*”事件。但在jquery all DOM ready函数中封装它只是一种更安全的编写方法。

如果没有,它将在DOM元素还不可用时立即运行。jQuery确保
$(function(){…})
之间的代码只有在它们可用后才执行,因此您可以从函数中访问它们。jQuery不检查元素是否可用,只检查DOM是否准备好编写脚本。如果以其他方式加载元素,jQuery将不会等待。如果没有,它将在DOM元素不可用时立即运行。jQuery确保
$(function(){…})
之间的代码只有在它们可用后才执行,因此您可以从函数中访问它们。jQuery不检查元素是否可用,只检查DOM是否准备好编写脚本。如果以其他方式加载元素,jQuery不会等待。如果它只在
document
ready
上执行,那么为什么符号
$(document).ready(function(){…})是否存在?为什么不删除
$(文档).ready
部分?您是正确的:
$(文档).ready(函数(){
$(函数()相同){
。后者只是不是每个人都使用或知道的简写。严格来说,onload侦听器应该在body元素上,而不是在window上。当然,有很多方法可以在不使用jQuery的情况下设置多个onload侦听器,包括使用addEventListener/attachEvent。如果是这样的情况,它将只在
ready
上为
d执行文档
,那么为什么符号
$(document).ready(function(){…});
根本不存在?为什么不删除
$(document).ready
部分?您是对的:
$(document).ready(function(){
$(function()相同){
。后者只是不是每个人都使用或知道的简写。严格来说,onload侦听器应该在body元素上,而不是在window上。当然,有很多方法可以在不使用jQuery的情况下设置多个onload侦听器,包括使用addEventListener/attachEvent。如果是这样的情况,它将只在
ready
上为
d执行文档
,那么为什么符号
$(document).ready(function(){…});
根本不存在?为什么不一直删除
$(document).ready
部分?您是对的:
$(document).ready(function(){
$(function()相同){
。后者只是速记,不是每个人都使用或知道。如果它只在
ready
上执行
document
,那么为什么符号
$(document).ready(function(){…});
存在?为什么不删除
$(document).ready
一直是部分?你是对的:
$(document).ready(function(){
$(function(){
)完全相同。后者只是速记,并非每个人都使用或知道。