Javascript:获取此原型对象名称
Javascript: Get this prototype object name
..
Class.prototype.property = function(){
return(this.prototypeobject.name);
}
..
oClass = new Class();
alert(oClass.property());
这很简单(或者可能不是?我只想将当前原型对象名称作为字符串。
注意: this.prototypeobject.name
不起作用。这只是一个例子。
没有这样的反射功能。函数除了通过显式引用(arguments.callee
已弃用)之外不知道自己,并且函数对象无论如何都不会绑定到任何属性,因此它们无法知道各自的属性名称。每当需要"方法名称"时,请将其硬编码为字符串文本。
好的,你可以
做一些事情(使用命名函数表达式,你可以将其更改为IE的函数声明):
Constr.prototype.someProperty = function myFuncName(args…) {
var propertyName = "";
for (var p in this)
if (this[p] == myFuncName) {
propertyName = p;
break;
}
alert("this function (myFuncName) was found on property '"
+propertyName+"' of `this` object");
};
var inst = new Constr(…);
inst.someProperty(…); // alerts "… found on property 'someProperty' …"
但是,这是一个丑陋的黑客,您不应该使用它。
相关文章:
- 重载JS'firefox中的对象原型
- 带有对象/原型的链式承诺(Q延期)
- 别名或以其他方式合并两个具有不同名称的相同对象原型
- 创建后指定对象原型
- javascript对象原型与jquery冲突
- 为什么我要将函数添加到对象原型中,而不是将其添加到对象中
- 基本对象/原型语法问题
- Javascript对象/原型.我的理解错了吗
- ES6 const,用于在JavaScript中创建对象原型;这是一种模式吗
- 在角度表达式中使用对象原型
- 对象原型和继承
- 为什么javascript对象原型被称为“fn”
- Uncaught TypeError:对象原型在Symfony 2中只能是Object或ExtJS为null
- 在Javascript中将对象原型函数绑定到对象
- 对象原型在Canvas Game中不起作用
- 如何获取Javascript对象原型的属性
- 为对象原型提供一个方法,该方法指向对象自身属性的值
- 向对象原型添加命名空间方法
- 在Vanilla Javascript中使用窗体中的对象原型创建多个用户
- Javascript对象原型错误