钝Javascript / jQuery编码风格?

时间:2013-12-09 06:41:36

标签: javascript jquery

我正在尝试了解一个用于控制3D CSS导航的不寻常的库。我正在审查代码,但我只是不明白这种风格。

javascript代码启动

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

. . . 

})(jQuery);

1)我真的对领先的分号感到困惑,是否有理由这样做?

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

$(function() {  // as shorthand for $( document ).ready()

但我以前从未见过(函数($)...我错过了什么?

3)为什么'严格使用';代码那里,如果这是一个jQuery代码。似乎很不寻常。

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

哦,作为参考我正在看的代码是http://www.jqueryscript.net/demo/Easy-jQuery-3D-Side-Menu-Plugin-with-CSS3-Box-Lid/

非常感谢,Zip。

1 个答案:

答案 0 :(得分:0)

1)此分号用于确保在使用minifiers时不会发生冲突,这会将所有Javascript相互添加。当组合多个Javascript文件时,有时会发生某个文件有错误并“忘记”以分号结束最后一行。分号确保前一个代码行结束。

2,4)(function($){启动一个直接执行的匿名函数。接下来会发生什么。首先我们创建一个像我们一样的匿名函数。:

function($) {
}

在这个函数中,$是一个函数参数。现在,如果我们想要执行这个函数,我们需要将它括在括号中,使它成为:

(function($) {

});

由于我们想要将jQuery对象添加为此函数的参数,我们将其作为参数提供,就像我们在每个函数中一样:

(function($) {

})(jQuery);

3)严格模式是ECMAScript 5中的一项新功能,允许您在“严格”的操作环境中放置程序或函数。这种严格的上下文可以防止采取某些行动并引发更多例外。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/Strict_modehttp://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/

了解有关严格模式的详情