new function(settings){...}(jQuery.query || {}); 是什么意思?在 JavaScript 中是什么意思?

发布于 2024-12-22 00:47:23 字数 580 浏览 0 评论 0原文

代码示例是这里

大代码块以

new function(settings) {

开始并结束

}(jQuery.query || {}); // Pass in jQuery.query as settings object

“这个技巧的作用是什么?”

。为什么Eclipse在这里发现2个错误? Eclipse 一开始就不喜欢新事物。我可以直接删除它吗?另外,Eclipse 希望 ] 在末尾“完成 NewExpression”。

这意味着什么?如何用[]写这个?

The code sample is here.

The big code chunk starts with

new function(settings) {

and ends with

}(jQuery.query || {}); // Pass in jQuery.query as settings object

What does this trick do?

Why does Eclipse find 2 errors here? Eclipse dislikes new at the beginning. May I just remove it? Also Eclipse wishes ] at the end to "to complete NewExpression".

What does this mean? How to write this with []?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

塔塔猫 2024-12-29 00:47:23

调用它

(jQuery.query || {})

这将创建一个匿名函数并作为参数

。尝试

new function(x){alert(x);}("foo");

在萤火虫中。

This creates an anonymous function and invokes it with

(jQuery.query || {})

as the parameter.

try

new function(x){alert(x);}("foo");

in firebug.

病女 2024-12-29 00:47:23

这是创建自调用 JavaScript 函数的一种方法。它只是一个只需快速挥动手腕即可声明和调用的函数。

http://sparecycles.wordpress.com/2008/06/29/advanced- javascript/

Eclipse 抱怨的是什么并不太清楚。该语法是完全有效的 - 可能只是 Eclipse 无法正确处理它。

编辑:传递的参数: (jQuery.query || {}) 将 jQuery.query 传递给函数。如果 jQuery.query 为 null、false、零或未定义(falsey),则将传递一个空对象文字,避免空引用。

It is one way of creating a self-invoking javascript function. It's simply a function that is declared and invoked in one swift flick of the wrist.

http://sparecycles.wordpress.com/2008/06/29/advanced-javascript/

What Eclipse is complaining about is not really clear. The syntax is completely valid - it might just be that Eclipse cannot handle it properly.

EDIT: The argument that is passed: (jQuery.query || {}) passes jQuery.query to the function. If jQuery.query is null, false, zero or undefineded (falsey), an empty object literal will be passed instead, avoiding a null reference.

阳光下的泡沫是彩色的 2024-12-29 00:47:23

new function 构造正在定义一个新函数。它适用于主要浏览器,但最好使用稍微不同的语法。

(function() {
    ...
})();

这里我们定义了一个函数,然后立即调用它。在您的代码中,该函数还传递了一个参数。

Eclipse 的抱怨可能是一个错误。

The new function construction is defining a new function. It works in major browsers, but it is preferred to use slightly different syntax.

(function() {
    ...
})();

Here we define a function and then immediately call it. In your code, the function is also passed a parameter.

The Eclipse complaining is probably a bug.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文