javascript中 F.prototype=obj和F.prototype=obj.prototype有什么区别?在原型式继承中,传入的对象作为构造函数的原型,在寄生组合式继承传入的是个对象的原型,就有点搞不清楚了,可能问题描述的还不是

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/10 10:26:03

javascript中 F.prototype=obj和F.prototype=obj.prototype有什么区别?在原型式继承中,传入的对象作为构造函数的原型,在寄生组合式继承传入的是个对象的原型,就有点搞不清楚了,可能问题描述的还不是
javascript中 F.prototype=obj和F.prototype=obj.prototype有什么区别?
在原型式继承中,传入的对象作为构造函数的原型,在寄生组合式继承传入的是个对象的原型,就有点搞不清楚了,可能问题描述的还不是很清楚,多包涵. 希望能画张图解释这个

javascript中 F.prototype=obj和F.prototype=obj.prototype有什么区别?在原型式继承中,传入的对象作为构造函数的原型,在寄生组合式继承传入的是个对象的原型,就有点搞不清楚了,可能问题描述的还不是
都是对prototype的赋值,语义上没什么区别.差别在于对属性、方法的检索上,javascript的对象属性、方法的搜寻的过程是:
1、对象本身
2、对象prototype
3、对象prototype的prototype,类推.
javascript类的基础的处理上,一般有两种方式,一种引用原型的方式,另外是复制原型的方式,差别从名称上就能看出来,引用原型是直接引用父类的原型:
Function.prototype.classExtends = function ()
{
var F = function() { };
var class = new F();
class.prototype = this.prototype;
class.prototype.Super = this;
class.prototype.constructor = this;
return class;
}
function classA() {
};
var classB = classA.classExtends();
复制原型比较简单,是从父类的prototype复制所有的方法、属性到派生类的prototype,派生类和基类的prototype没有直接的引用关系,这部分就不给代码了.