Javascript 对象的两种写法的区别
第一种
var mybase = {
getFormatDate:function(){
return '里面';
}
};
第二中
var mybase = {}
mybase.test = function(){
return '外面';
}
这两种有什么差别
Mammoth
10 years, 1 month ago
Answers
调用函数时返回一下 this ,两者不是一样的吗?
var mybase1 = {
a:'mybase1',
test1:function(){
console.log(this);
}
};
mybase1.test1(); //Object {a: "mybase1", test1: function}
var mybase2 = {};
mybase2.b = 'mybase2';
mybase2.test2 = function(){
console.log(this);
};
mybase2.test2(); //Object {b: "mybase2", test2: function}
右·菲利普
answered 10 years, 1 month ago
你写个例子比较简单,体现不出这样做有什么区别,对于功能、this等,这两个没有明显区别。
var a = {
X: '...'
}
之后如果你再给a添加一个Y属性,就不能这么写:
var a = {
Y: '...'
}
这样X属性就丢了,你就得这么写
var a = {
X: '...',
Y: '...'
}
但是这样你就得把a的属性重写一遍,或者直接
a.Y = '...'
这样就是第二种方法了。
对于js的对象,只要你写了a = {...},都是对原来a对象的覆盖,而a.Y = '...'仅仅是对某一个属性的覆盖,比较安全
klesdia
answered 10 years, 1 month ago