Obtuse Javascript/jQuery编码风格

Obtuse Javascript / jQuery coding style?

本文关键字:编码 风格 jQuery Javascript Obtuse      更新时间:2024-05-03

我正试图了解一个用于控制3D CSS导航的不同寻常的库。我正在复习代码,但就是不理解它的风格。

javascript代码启动

;(function($) {
'use strict';
. . . 
})(jQuery);

1) 我真的被前导分号弄糊涂了,这是有原因的吗?

2) 我从来没有见过这样的格式:(function($){我在看什么?这是某种迟钝的jquery格式吗?我见过很多其他与jquery有关的格式。例如

$(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)此分号用于确保在使用minifier时不会发生冲突,minifier将所有Javascript依次添加。当组合多个Javascript文件时,有时会发生某个文件出现错误,并"忘记"用分号结束最后一行。分号确保前一行代码结束。

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

function($) {
}

在这个函数中,$是一个函数参数。现在,如果我们想执行这个函数,我们需要把它放在括号里,这样它就变成:

(function($) {
});

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

(function($) {
})(jQuery);

3) 严格模式是ECMAScript 5中的一个新功能,它允许您将程序或函数放置在"严格"操作上下文中。这种严格的上下文阻止了某些操作的执行,并引发了更多的异常。

有关严格模式的更多信息,请访问:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/Strict_mode和http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/