search

Home  >  Q&A  >  body text

javascript - propotype到底是一个属性还是对象;

function student (){
   prototype
}

prototype在构造函数里面是对象还是属性,一会儿说属性,一会儿说对象;
还是说prototype对象中有一个prototype属性;

还有为什么叫student.prototype这个东西是一个对象;

prototype指向student.prototype 那么prototype是可以理解引用吗?
如果prototype是对象,那么对象prototype能指向对象student.prototype;

ringa_leeringa_lee2819 days ago1104

reply all(12)I'll reply

  • PHPz

    PHPz2017-04-11 11:55:04

    prototype是属性,但是属性的值可以为对象
    就比如

    var obj = {a:{}};

    a是obj对象的一个属性,但是a也指向一个对象

    reply
    0
  • 怪我咯

    怪我咯2017-04-11 11:55:04

    一个变量引用(指向)一个对象不难理解吧?

    var a = {};
    var obj = { objProperty: a };

    我现在说obj的objProperty属性是个对象不能反驳吧?
    那我说objProperty这个对象也没错吧?
    至于prototype里又有prototype, 用对象的原型链, 就可以做到.大致代码如下:

    function Person(){
                this.name = "tinycolder";
            }
            Person.prototype.age = 22;
    
            var p1 = new Person();
            p1.prototype = Person.prototype;
    
            function Man(){
            
            }
            Man.prototype = p1;
    
            alert(Man.prototype.prototype.age);//22
    
            //参考
            var p2 = new Man();
            alert(p2.name);//tinycolder

    具体请参考, 对象的原型链继承.
    好好看书, 理解不了的概念就停下来慢慢分析咀嚼, 不要失乱了学习的心境.

    reply
    0
  • 迷茫

    迷茫2017-04-11 11:55:04

    属性,指向对象。
    即指向对象的属性

    reply
    0
  • 迷茫

    迷茫2017-04-11 11:55:04

    为什么你要把属性对象对立起来?

    不要在基本概念都不明确的情况下就开始动手编程
    建议先去看书吧《javascript高级程序设计》

    reply
    0
  • 阿神

    阿神2017-04-11 11:55:04

    书上看到的: 我们创建的每一个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,而这个对象的用途是 包含可以由特定类型的所有实例共享 的属性和方法。如果按照字面意思来理解,那么prototype就是通过 调用构造函数而创建的那个对象实例 的原型对象。

    reply
    0
  • 黄舟

    黄舟2017-04-11 11:55:04

    函数的属性,该属性为对象。
    属性和对象不是对立的概念

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-11 11:55:04

    prototype是构造函数的属性,函数实例化时,系统会自动加上这句:Function.prototype.constructor=Function,咱们从函数角度看,pro就是他一个属性,但是他自身又是一个对象,他有自己的属性,自身还有一个隐藏属性__proto__,指向了伟大的Object的原型对象,这就是为什么js里面的对象默认挂载toString这样默认方法,原型链,可以当作Java的继承理解即可,每当实例化函数的属性,就会产生对应的实例原型对象,三者关系都是彼此联系的。

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-11 11:55:04

    为什么不能结合起来看呢 就像光即时波也是粒子一样 prototype既是一个对象的属性,本身也是一个对象

    reply
    0
  • ringa_lee

    ringa_lee2017-04-11 11:55:04

    prototype是构造函数的属性,它的value是一个对象

    reply
    0
  • 迷茫

    迷茫2017-04-11 11:55:04

    prototype是函数的属性,
    对象的__proto__属性指向构造函数的prototype属性

    reply
    0
  • Cancelreply