uza*_*y95 77 javascript jquery json
我们为什么要用({ })
?
它是代表吗?
使用这种语法意味着什么?
我们用它包装什么?
例如:
$.ajaxSetup ({ // <-- THIS
error: fError,
compelete: fComp,
success: fSucc
}); // <-- AND THIS
Run Code Online (Sandbox Code Playgroud)
Nic*_*ver 158
{}
是JavaScript中的对象表示法.例如:
$('selector').plugin({ option1: 'value' });
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您将包含设置的对象传递给插件.插件可以将其作为对象处理,无论它被引用为什么,例如:
settings.option1 //the option you passed in.
Run Code Online (Sandbox Code Playgroud)
当然它有更多的用途,但这是jQuery中最常见的例子.同样是真实的.animate()
,$.ajax()
,.css()
函数等等凡是需要性质通常使用这种格式.
根据要求,其他一些示例:
传递的对象中的任何对象也可以是一个函数,而不仅仅是属性,例如:
$("<input>", {
type: "text",
focusin: function() { alert("Hi, you focused me!"); }
});
Run Code Online (Sandbox Code Playgroud)
这会将该输入的焦点事件设置为具有警报.另一个是扩展一个对象,为它添加属性,如下所示:
var person = { first_name: "John" };
$.extend(person, { last_name: "Smith" });
//equivalent to:
person.last_name = "Smith";
//or:
person["last_name"] = "Smith";
Run Code Online (Sandbox Code Playgroud)
现在person
有了last_name
财产.这通常也被插件使用,采用默认设置,然后合并您传入的任何设置,使用您指定的任何设置进行覆盖,其余使用默认设置.
我们为什么要用它? 嗯......这就是JavaScript的工作方式,以及jQuery的精神:它是一种非常简洁灵活的传递信息的方式.
Osc*_*Ryz 10
我的意思是,我们包装它的是什么?
不,那是JavaScript对象符号(JSON).在您的示例中,您将ajaxSetup
使用其属性为的对象调用该函数 :
error: fError,
compelete: fComp,
success: fSucc
Run Code Online (Sandbox Code Playgroud)
例如,要创建一个"用户"对象,您可以编写:
user = {
"name":"Oscar",
"lastName":"Reyes"
};
Run Code Online (Sandbox Code Playgroud)
然后使用其中一个属性:
alert( a.name );
Run Code Online (Sandbox Code Playgroud)
节目:奥斯卡
你在那里(在你的代码中)看到的是创建一个对象并将其作为参数传递.
它相当于:
var setUpInfo = {
"error": fError,
"compelete": fComp,
"success": fSucc
};
$.ajaxSetup( setUpInfo );
Run Code Online (Sandbox Code Playgroud)
在通过Ajax发送参数时,它可以是JavaScript对象文字,也可以是更具体的JSON.JSON是JavaScript对象文字的子集.
例如:
// This is JSON data sent via the Ajax request (JSON is subset of JavaScript object literals)
var json = {id: 1, first_name: "John", last_name: "Smith"};
// This is a JavaScript object literal, it is not used for transfer of data so doesn't need to be JSON
var jsol = {type: 'POST', url: url, data: json};
$.ajax(jsol);
Run Code Online (Sandbox Code Playgroud)
请在这里阅读更多相关信息:
问题是关于"({})"的符号.
在此上下文中,括号"(...)"跟在表达式后面,例如$ .ajaxSetup,会导致调用表达式指定的函数.
括号内的表达式(可以是逗号分隔的表达式列表)会产生一个值(或值列表),它是传递给函数的参数.
最后,当在表达式上下文中使用"{...}"时,它构造一个具有指定的name-value属性的对象.这就像JSON,但更常见的是,它是任何合法的JS对象文字.
归档时间: |
|
查看次数: |
4194 次 |
最近记录: |