Javascript 直接为原型的属性赋值与扩展的区别
我遇到了用Java脚本编写相同代码的两种风格,我想了解这两种风格的优缺点 以下是:Javascript 直接为原型的属性赋值与扩展的区别,javascript,jquery,web,Javascript,Jquery,Web,我遇到了用Java脚本编写相同代码的两种风格,我想了解这两种风格的优缺点 以下是: options = $.extend({ property1 : value1, property2 : value2, }); VS 在谷歌搜索时,我发现如下: 1.0jQuery.extend target[,object1][,objectN]一个对象,如果传入其他对象,它将接收新属性;如果jQuery名称空间是唯一参数,它将扩展该名称空间 但有谁能帮助我
options = $.extend({
property1 : value1,
property2 : value2,
});
VS
在谷歌搜索时,我发现如下:
1.0jQuery.extend target[,object1][,objectN]一个对象,如果传入其他对象,它将接收新属性;如果jQuery名称空间是唯一参数,它将扩展该名称空间
但有谁能帮助我理解:
1.使用$.extend有什么好处?
2.上面这条线的意思是什么:
如果jQuery是唯一的参数,那么它将扩展jQuery名称空间
希望上面说的有道理 您使用的第一种方法:
options = $.extend({
property1 : value1,
property2 : value2,
});
根据
如果只向$.extend提供了一个参数,则表示忽略了目标参数。在本例中,假定jQuery对象本身是目标。通过这样做,您可以向jQuery命名空间添加新函数。这对于希望向JQuery添加新方法的插件作者来说非常有用
解释
您将收到的选项是jquery对象本身。您的结果选项对象将作为Jquery对象,您将无法直接访问键property1和property2。因为您已经扩展了$e,即jQuery对象本身
然后,您可以像使用$一样使用option来执行DOM操作或JQuery提供的其他功能。扩展的目的是向现有对象添加额外的道具。但如果您不提供target,它会假定它本身就是Jquery对象
那么现在,
options.trim(" Hello World "); // outputs Hello World without
//leading or trailing spaces
p.S.的行为就像一个$
基本对象分配
它只是基本的Javascript对象,行为正常。与上述场景不同,您可以使用点运算符访问属性
如果将空白对象作为第一个参数传递为
options = $.extend({}, {
property1 : value1,
property2 : value2,
});
现在它将像普通对象一样工作,因为您刚刚将空白目标对象与新属性合并 谢谢你提供全面的细节。这真的帮助我把事情弄清楚了。
options = {
property1 : value1,
property2 : value2,
};
options = $.extend({}, {
property1 : value1,
property2 : value2,
});