var A = {};
var B = Object.create(A);
var C = Object.create(B);
A.isPrototypeOf(C);//returns true
C.isPrototypeOf(A);//returns false
在上面的代码中我不理解C.isPrototypeOf(A);
答案 0 :(得分:13)
var A = {}; // A inherits Object
var B = Object.create(A); // B inherits A inherits Object
var C = Object.create(B); // C inherits B inherits A inherits Object
// Does C inherit A?
A.isPrototypeOf(C); // true, yes
// C inherits A because B inherits A and C inherits B
// Does A inherit C?
C.isPrototypeOf(A); // false, no
// A only inherits Object
答案 1 :(得分:3)
C
"后来"来自B
,这是"后来"来自A
。 C
怎么可能成为A
的原型?
由于C
最终是从A
继承的,而A
从C
中得不到任何内容,那么" C
是错误的A
"