对象实例因该是没有prototype 属性的,object.prototype.toString()是不是错误的用法

来源:1-5 [JavaScript]类型检测

慕粉3473542

2016-07-17 22:29

老师,这里用的object.prototype.toString() 是不准确的吧。据我所知只有函数才有prototype 属性,对象实例并没有

写回答 关注

5回答

  • 玄鉴
    2016-07-17 23:10:26
    已采纳


    在网上找的,不知道对你有没有用。

    http://img.mukewang.com/578b9fc60001486f08000797.jpg

  • yinyun
    2016-11-19 09:54:02

    apply()方法能劫持另外一个对象的方法,继承另外一个对象的属性.

  • 慕粉3473542
    2016-08-03 23:47:32

    谢谢,我所知道的是构造函数都有prototype 属性,这个可以在chrome 的console 可以验证

    function car(){
        this.name="Tesla";
    }
    car.prototype
    -->Object{}

    但是用上面构造函数新建的对象却没有prototype 属性

    var modelS=new car();
    modelS.prototype
    undefined

    我的理解是:

    函数有prototype属性的,属性的值指向一个对象。

    对象实例没有prototype属性,但是它有一个_proto_ 属性(在chrome 浏览器里,这个属性不能访问),指向的是它构造函数的prototype

    所以我觉得object.prototype 不准确,跑来提了这个问题。后来我想,可能这里的object泛指对象实例还有函数吧,因为JS中函数也是对象,应该是自己一开始把object 理解成狭隘的对象实例了。

  • qq_Stranger3140493
    2016-08-03 18:37:28

    固有对象都有prototype属性。。prototype相当于是该对象的类,可以理解成模版。

  • 慕粉3473542
    2016-07-18 22:08:57

    看起来很厉害的样子,我要好好看看。多谢

JavaScript深入浅出

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

281112 学习 · 1020 问题

查看课程

相似问题