这两种方法有什么区别?我正在尝试更好地理解 Jquery 和 JavaScript。提前致谢!
/**
* What is the difference between these two techniques?
*/
/* Using JQuery Extend */
var names = {name1 : 'Nicholas', name2: 'Bobby'}
var ages = {age1 : '27', age2: '32'}
var profile = $.extend(names, ages);
console.log(profile.name1, profile.age1)
/* By filling a blank object with the combined dataset */
var names = { name1 : 'Nicholas', name2 : 'Bobby'}
var ages = { age1 : '27', age2 : '32'}
var profile = {};
profile.names = names;
profile.ages = ages;
console.log(profile.names.name1, profile.ages.age1)
最佳答案
$.extend
合并两个对象。第一个代码的结果是一个包含两个对象的所有属性的单个对象:
{name1 : 'Nicholas', age1: '27', name2: 'Bobby', age2: '32'}
它还会修改其第一个参数作为副作用。因此,此结果将同时出现在 profile
和 names
中。要防止第一个参数被修改,请使用$.extend({},names,ages)
。
要访问其中的值之一,您可以使用 profile.name1
或 profile.age2
。
您的第二个代码创建一个新对象,其中包含前两个对象作为其中的不同属性:
{ names: {name1 : 'Nicholas', name2: 'Bobby'},
ages: { age1 : '27', age2 : '32'}
}
要访问其中的值之一,您可以使用 profile.names.name1
或 profile.ages.age2
。
关于javascript - 这两种 JavaScript/JQuery 技术有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25673429/