【发布时间】:2012-07-13 21:50:07
【问题描述】:
我在玩类/函数/原型继承,并获得了不错的设置。我理解的一些简单的事情。
http://jsfiddle.net/rudiedirkx/rwPeD/6/
出于调试目的,我想在每个构造函数中打印出调用该构造函数的对象类型。例如,Ronin 构造函数调用 Ninja 构造函数,而后者又调用 Person 构造函数。为此我做了一个get_class 函数:
function get_class(obj) {
var C = String(obj.__proto__.constructor);
return C.match(/function (\w+)\(/, C)[1];
}
这是行不通的。它总是返回“人”。为什么?每个“类”都有自己的构造函数,不是吗?如果我在每个构造函数中执行console.log(this),Chrome Devtools 就会知道该对象是哪种类型。我如何到达那里(使用香草 JS)?
附言。我的 Chrome 中的完整输出:
【问题讨论】:
标签: javascript inheritance constructor