Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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,我试图理解一个不寻常的控制3D CSS导航的库。我正在检查代码,但我不理解它的风格 javascript代码启动 ;(function($) { 'use strict'; . . . })(jQuery); 1) 我真的被前面的分号搞糊涂了,有什么原因吗 2) 我从未见过这种格式:(函数($){我在看什么?这是某种迟钝的jquery格式吗?我见过许多其他与jquery相关的格式..例如 $(function() { // as shorthand for $( document ).

我试图理解一个不寻常的控制3D CSS导航的库。我正在检查代码,但我不理解它的风格

javascript代码启动

;(function($) {
'use strict';

. . . 

})(jQuery);
1) 我真的被前面的分号搞糊涂了,有什么原因吗

2) 我从未见过这种格式:(函数($){我在看什么?这是某种迟钝的jquery格式吗?我见过许多其他与jquery相关的格式..例如

$(function() {  // as shorthand for $( document ).ready()
但我以前从未见过(函数($)。我是否遗漏了什么

3) 如果这是一个jQuery代码,为什么会出现“use strict”;代码似乎不寻常

4) 最后,为什么{jQuery)代码位于函数的末尾

哦,作为参考,我看的代码是

非常感谢,Zip。

1)此分号用于确保在使用minifier时不会发生冲突,minifier会将所有Javascript添加到彼此之后。在组合多个Javascript文件时,有时会出现某个文件出错和“忘记”的情况以分号结束最后一行。分号确保前一代码行结束

2,4)(函数($){启动一个直接执行的匿名函数。发生的情况如下。首先,我们像往常一样创建一个匿名函数,例如:

function($) {
}
在这个函数中,$是一个函数参数。现在如果我们想执行这个函数,我们需要将它括在括号中,这样它就变成:

(function($) {

});
由于我们希望添加jQuery对象作为此函数的参数,因此我们将其作为参数提供,就像在每个函数中一样:

(function($) {

})(jQuery);
3) 严格模式是ECMAScript 5中的一项新功能,允许您将程序或函数置于“严格”操作上下文中。此严格上下文可防止执行某些操作并引发更多异常


阅读关于严格模式的更多信息:和

你搜索过答案吗?这会被问到很多问题。如果你搜索的话,你可以找到你每个问题的答案。嗯……我在谷歌搜索了20个左右,在Bing搜索了4个或5个。你告诉我这些是特定的堆栈溢出搜索吗。。。“为什么‘use strict’;如果这是jQuery代码,那么代码就在那里。”jQuery只是一个库。您仍然在使用该库编写JavaScript。无论您使用哪个库,
“use strict”
都是有用的。