为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript 对象的两种写法的区别

Javascript 对象的两种写法的区别

开满天机 2019-04-10 20:48:05
第一种varmybase={getFormatDate:function(){return'里面';}};第二中varmybase={}mybase.test=function(){return'外面';}这两种有什么差别
查看完整描述

2 回答

?
莫回无

TA贡献1865条经验 获得超7个赞

题主应该这样问会好理解一点,“将对象的属性和方法写在『里面』和写在对象『外面』,那个好?”
和@sobranie同学观点一样,这两种方式在对对象的属性和方法是没有任何影响的,没有好坏之分。
第一种,将对象的属性和方法写在『里面』,会重置对象,那么对象之前的属性和方法丢失;
第二种,将对象的属性和方法写在『外面』,可以在已有的对象里添加属性和方法。
那么使用场景:
1.当你不想清空对象之前的属性和方法时,请用第二种。
2.当你知道这个对象之前没有被创建过,两个都可以。
                            
查看完整回答
反对 回复 2019-04-10
?
www说

TA贡献1775条经验 获得超8个赞

你写个例子比较简单,体现不出这样做有什么区别,对于功能、this等,这两个没有明显区别。
vara={
X:'...'
}
之后如果你再给a添加一个Y属性,就不能这么写:
vara={
Y:'...'
}
这样X属性就丢了,你就得这么写
vara={
X:'...',
Y:'...'
}
但是这样你就得把a的属性重写一遍,或者直接
a.Y='...'
这样就是第二种方法了。
对于js的对象,只要你写了a={...},都是对原来a对象的覆盖,而a.Y='...'仅仅是对某一个属性的覆盖,比较安全
                            
查看完整回答
反对 回复 2019-04-10
  • 2 回答
  • 0 关注
  • 532 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信