在javascript中从原型函数访问构造函数名称

时间:2013-10-04 20:12:24

标签: javascript prototype function-prototypes

是否可以执行以下操作:

function A() {}
function B() {}
B.prototype = A;
function C() {}
C.prototype = A;

A.prototype.myname = function() { /* get 'B' or 'C' here */ }

所以当我例如调用B.myname()时,我会在函数体中使用名称“B”吗?

按预期尝试this.constructor.name每次都会返回“A”。

1 个答案:

答案 0 :(得分:1)

我想你在找这个?

function A() {}
A.prototype.myname = function() {
    return this.constructor.name;   
};
function B() {}
B.prototype = new A();
B.prototype.constructor = B;
var b = new B();
console.log(b.myname()); // logs B

http://jsfiddle.net/BFxnb/