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