第一种
var mybase = {
getFormatDate:function(){
return '里面';
}
};
第二中
var mybase = {}
mybase.test = function(){
return '外面';
}
这两种有什么差别
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
题主应该这样问会好理解一点,“将对象的属性和方法写在『里面』和写在对象『外面』,那个好?”
和 @sobranie 同学观点一样,这两种方式在对对象的属性和方法是没有任何影响的,没有好坏之分。
第一种,将对象的属性和方法写在『里面』,会重置对象,那么对象之前的属性和方法丢失;
第二种,将对象的属性和方法写在『外面』,可以在已有的对象里添加属性和方法。
那么使用场景:
1. 当你不想清空对象之前的属性和方法时,请用第二种。
2. 当你知道这个对象之前没有被创建过,两个都可以。
你写个例子比较简单,体现不出这样做有什么区别,对于功能、this等,这两个没有明显区别。
之后如果你再给a添加一个Y属性,就不能这么写:
这样X属性就丢了,你就得这么写
但是这样你就得把a的属性重写一遍,或者直接
这样就是第二种方法了。
对于js的对象,只要你写了a = {...},都是对原来a对象的覆盖,而a.Y = '...'仅仅是对某一个属性的覆盖,比较安全
调用函数时返回一下 this ,两者不是一样的吗?
明显是第一种嘛!
没看到 第一种可以少写个对象名字。