日期:2014-05-16  浏览次数:20338 次

大家写JS的更倾向于创建Object还是Function对象?

欢迎大家讨论下:愿意创建Object还是Function对象?什么情况下愿意?为啥呢?

------解决方案--------------------
如果是存储数据 视情况用 Array and Object

如果是对数据处理 操作等 用Function
------解决方案--------------------
该创建什么就创建什么,存储数据没理由让我搞个function
------解决方案--------------------
这个按照需求来吧,该用什么就用什么,如果能有object实现的,就没必要用function
------解决方案--------------------
我更倾向于不创建对象
------解决方案--------------------
自己用得随手就好,object的好处就不用new,但是不利于多实体,function要new个instance,可以有多个实体
------解决方案--------------------
我更倾向于创建object对象,javascript本来就是面向对象语言
------解决方案--------------------
还是要根据需求来定。前提是知道两种方法的区别。

定义后
 Object不能再使用new创建对象实例,可以赋值给其他变量,多个变量同时引用一个对象,或者克隆对象
 Function可以使用new创建多个对象实例,使用时互不影响,但是使用内存也会更多
 
继承
 Object无法继承,除非用复制的方式来实现
 Function可以实现
 
toString和valueOf
 Object,如果你不实现它的代码,别人无法通过toString、valueOf查看到你的代码
 Function默认情况下,toString、valueOf是可以看到function的代码的
 
prototype原型问题
 给Object原型增加方法或属性,new function出来的对象也同样有这样的方法——因此这是扩展通用对象功能的好地方
 给Function原型增加方法或属性,Object实例对象不会有这些方法和属性
 
String、Number、Boolean对象不支持引用传递。

------解决方案--------------------
用简单的方式写就行了。所适应的变化不是很大的话,用OO方式写反而增加代码量,不合算。