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