Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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 使用匿名函数包装的目的_Javascript_Jquery_Google Chrome Extension_Anonymous Function - Fatal编程技术网

Javascript 使用匿名函数包装的目的

Javascript 使用匿名函数包装的目的,javascript,jquery,google-chrome-extension,anonymous-function,Javascript,Jquery,Google Chrome Extension,Anonymous Function,我正在构建一个chrome扩展,并在我的内容脚本中包含以下代码。是一个图书馆,用来把东西拖起来。有趣的是,我的代码适用于案例2,但不适用于案例1。为什么会这样 第二种情况似乎是用匿名函数包装函数调用,尽管我不确定在此之前为什么需要jquery //1 $('#square').pep(); //2 $(function($) { $('#square').pep(); }); 第二种情况是jQuery对on document ready的简写 这相当于: $(document).re

我正在构建一个chrome扩展,并在我的内容脚本中包含以下代码。是一个图书馆,用来把东西拖起来。有趣的是,我的代码适用于案例2,但不适用于案例1。为什么会这样

第二种情况似乎是用匿名函数包装函数调用,尽管我不确定在此之前为什么需要jquery

//1
$('#square').pep();

//2
$(function($) {
    $('#square').pep();
});

第二种情况是jQuery对on document ready的简写

这相当于:

$(document).ready(function() {
    $('#square').pep();
});

文档:

在第二种情况下,您使用的是$document.ready的速记。这样,javascript会在执行之前等待加载所有DOM元素。库需要加载所有元素才能工作

传递给$function{}的函数是$document.readyfunction{}的缩写

函数参数不必是匿名的,事实上,总是将此类函数命名为so$function myDomReady{}是一种很好的做法