javascript - 为什么我们在 jQuery 中使用 "({ })"?

标签 javascript jquery json

我们为什么要使用 ({ })

是委托(delegate)人吗?

使用这种语法是什么意思?

我们用它包装什么?

例如:

$.ajaxSetup ({ // <-- THIS
    error: fError,
    compelete: fComp,
    success: fSucc
}); // <-- AND THIS

最佳答案

{} 是 JavaScript 中的对象表示法。例如:

$('selector').plugin({ option1: 'value' });

在这种情况下,您将一个包含您的设置的对象传递给插件。该插件可以将其作为一个对象处理,无论它被引用为什么,例如:

settings.option1 //the option you passed in.

当然它还有很多用途,但这是 jQuery 中最常见的例子。 .animate() 也是如此。 , $.ajax() , .css()函数等。任何带有属性的东西通常都使用这种格式。


根据要求,提供一些其他示例:
传递的对象中的任何对象也可以是函数,而不仅仅是属性,例如:

$("<input>", {
  type: "text",
  focusin: function() { alert("Hi, you focused me!"); }
});    

这会将该输入的焦点事件设置为具有警报。另一个是扩展一个对象,为其添加属性,如下所示:

var person = { first_name: "John" };
$.extend(person, { last_name: "Smith" });
//equivalent to: 
person.last_name = "Smith";
//or:
person["last_name"] = "Smith";

现在 person 具有 last_name 属性。这也经常被插件使用,采用默认设置,然后合并您传入的任何设置,覆盖您指定的任何设置,其余部分使用默认设置。

我们为什么要使用它? 嗯……这就是 JavaScript 的工作原理,并且本着 jQuery 精神:它是一种极其简洁和灵活的信息传递方式。

关于javascript - 为什么我们在 jQuery 中使用 "({ })"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2594734/

相关文章:

json - Phonegap在本地设备上缓存Json数据

javascript - $.each 在 $.append 里面(对象 [object Array] 没有方法 'apply' )

javascript - 如何在 Knockout 中订阅父对象的子对象

javascript - AJAX加载内容无页面刷新

javascript - 检查对象数组是否具有所有必需的键

java - Hamcrest.Matchers : JSON Nested Array

javascript - 顶部的滑动菜单隐藏在 Safari 移动栏后面

javascript - 尝试对 JavaScript 函数进行计时时出现错误

jquery - 动手摧毁和创造

java - 如何使用 Jetty API 客户端发送 JSON 请求?