function student (){
prototype
}
prototype在构造函数
里面是对象还是属性,一会儿说属性,一会儿说对象;
还是说prototype对象中有一个prototype属性
;
还有为什么叫student.prototype
这个东西是一个对象;
prototype指向student.prototype 那么prototype是可以理解引用
吗?
如果prototype是对象,那么对象prototype
能指向对象student.prototype
;
prototype是属性,但是属性的值可以为对象
就比如
a是obj对象的一个属性,但是a也指向一个对象
一个变量引用(指向)一个对象不难理解吧?
我现在说obj的objProperty属性是个对象不能反驳吧?
那我说objProperty这个对象也没错吧?
至于prototype里又有prototype, 用对象的原型链, 就可以做到.大致代码如下:
具体请参考, 对象的原型链继承.
好好看书, 理解不了的概念就停下来慢慢分析咀嚼, 不要失乱了学习的心境.
属性,指向对象。
即指向对象的属性
为什么你要把
属性
和对象
对立起来?不要在基本概念都不明确的情况下就开始动手编程
建议先去看书吧《javascript高级程序设计》
书上看到的: 我们创建的每一个函数都有一个prototype(原型)属性,这个属性是一个指针,指向一个对象,而这个对象的用途是 包含可以由特定类型的所有实例共享 的属性和方法。如果按照字面意思来理解,那么prototype就是通过 调用构造函数而创建的那个对象实例 的原型对象。
函数的属性,该属性为对象。
属性和对象不是对立的概念
prototype是构造函数的属性,函数实例化时,系统会自动加上这句:Function.prototype.constructor=Function,咱们从函数角度看,pro就是他一个属性,但是他自身又是一个对象,他有自己的属性,自身还有一个隐藏属性__proto__,指向了伟大的Object的原型对象,这就是为什么js里面的对象默认挂载toString这样默认方法,原型链,可以当作Java的继承理解即可,每当实例化函数的属性,就会产生对应的实例原型对象,三者关系都是彼此联系的。
为什么不能结合起来看呢 就像光即时波也是粒子一样 prototype既是一个对象的属性,本身也是一个对象
prototype是构造函数的属性,它的value是一个对象
prototype是函数的属性,
对象的__proto__属性指向构造函数的prototype属性