JS中的原型与函数
编程语言
2019-04-08 22:26:04
阅读次数: 0
JS中的原型与函数
- 原型的概念类似于Java中的“父类”
- JS中每个对象都有__proto__属性,指向该对象的原型
- o1.proto.proto(省略n个.proto),称作原型链
- 检索对象属性时,如果找不到会检索该对象的原型链
- 每个函数都有prototype属性,存放函数constructor等信息
function AnyFunction() {}
console.log(AnyFunction.prototype.constructor === AnyFunction);
- 由2知,如果要使得某个对象o1由函数func1“构造”(即func1是该o1的原型),只要执行o1.proto= func1.prototype,举个例子
function AnyFunction() {
this.do = function (params) {
console.log('do');
}
}
var o1 = {};
AnyFunction.apply(o1);
o1.__proto__ = AnyFunction.prototype;
o1.do();
console.log(o1 instanceof AnyFunction);
- 由4知,如果要使得某个对象o1“继承”自对象o2(即o2是o1的原型),只要执行o1.proto = o2,举个例子:
var o1 = {a:1};
var o2 = {};
o2.__proto__ = o1;
console.log(o2.a)
转载自blog.csdn.net/qq_16664581/article/details/89093246