js之模拟原型链查找

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function test(a, way) {
if (a === null) {
return undefined
}
if (a.hasOwnProperty(way) === true) {
return a;
}
return test(Object.getPrototypeOf(a), way);
}

function T() {};
T.prototype.say = function () {
return 1;
}

function E() {};
E.prototype = new T();
var a = new E();
test(a, "say");

上面的函数会按照原型链查找方法,并放回方法定义的位置

本文结束啦感谢您的阅读
undefined