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

new Object();的含义是什么?
new Object();的含义是什么?感觉有两种解释:
1.创建一个Object对象。
2.创建一个Object对象并将其传入Object()函数中。

应该是这两种解释的哪一种?还是有其他的解释?Java中又是哪种解释?不要只说结论,最好给出例子证明一下,或者说出结论的出处。

------解决方案--------------------
严格的说,是根据js提供的Object模板创建了一个实例,继承了Object的所有方法。这个实例的构造函数是Object();
进一步说:
只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性。在默认的情况下,所有的prototype属性都会自动获得一个constructor(构造函数)属性,这个属性包含一个指向prototype属性所在函数的指针。
创建了自定义的构造函数之后,其原型属性默认只会取得constructor属性; 至于其他方法,则都是从Object继承而来。当调用构造函数创建一个新实例后,该实例的内部将包含一个指针,指向构造函数的原型属性。在很多实现中,这个属性的名字是__proto__,而且通过脚本可以访问到(在非IE,opera浏览器中是不可见的)。不过最重要的是这个连接存在于实例与构造函数的原型属性之间,而不是存在于实例与构造函数之间。
详细点说:
http://www.cnblogs.com/jikey/archive/2011/05/13/2045005.html

------解决方案--------------------
探讨

引用:

这是js有别于其它语言的地方,也是js语言的难点,这点搞懂了,基本算是入门了。


Object对象和原型是一回事吗?一个对象和这个对象的原型,两者的关系是什么?高手能解释下吗?