当我们开始计划构建一个显示模块模式时,构建模式以这种方式开始的最大区别是什么......
var MODULE = function() {}();
并构建这样的模式......
var MODULE = (function() {})();
好处?目的?
另外一个问题是,这些技术中的任何一种是否都允许 jQuery 在不将 $ 传递给它们的情况下进行处理?
感谢您的任何反馈!
当我们开始计划构建一个显示模块模式时,构建模式以这种方式开始的最大区别是什么......
var MODULE = function() {}();
并构建这样的模式......
var MODULE = (function() {})();
好处?目的?
另外一个问题是,这些技术中的任何一种是否都允许 jQuery 在不将 $ 传递给它们的情况下进行处理?
感谢您的任何反馈!
有一个jsHint选项可以在函数未包含在括号中时发出警告。该选项的描述如下:
“此选项禁止使用立即函数调用而不将它们包装在括号中。包装括号有助于您的代码读者理解表达式是函数的结果,而不是函数本身。”
至于你关于 jQuery 的问题;是的,jQuery 将可用,前提是您已经包含它,显然。话虽如此,我仍然建议将“$”或“jQuery”作为参数传递给您的函数。如果不这样做,则每次引用它时,引擎都必须进入父范围才能找到它。没什么大不了的,但效率较低,特别是如果您大量使用 jQuery。如果你传入它,那么 jQuery 会在你的函数范围内定义,并且不需要在祖先的范围内搜索它。