【发布时间】:2013-10-11 06:25:21
【问题描述】:
喜欢这段代码
var Obj = function () {}
Obj.prototype.getVarName = function () {
console.log( someFunction() );
}
var obj = new Obj();
obj.getVarName(); //output "obj";
var obj1 = new Obj();
obj1.getVarName(); //output "obj1";
我不想这样做
var Obj = function (variableName) {
this.variableName = variableName || "undefined";
}
Obj.prototype.getVarName = function () {
console.log(this.variableName);
}
var obj = new Obj('obj');
obj.getVarName(); //output "obj";
var obj1 = new Obj('obj1');
obj1.getVarName(); //output "obj1";
有人对这个问题有任何想法,谢谢。
p.s:我在做一些不正确的事情。所以我问这个未回答的问题,谢谢大家。
我通过一个类obj的方法将一个事件绑定到一个DOM元素,并且这个obj有一些子类obj,当触发事件时,这个变量是指向dom elem的,我不知道如何识别哪个obj触发这个事件,所以我试试这个方法。
但这是错误的方法!所以我尝试了其他方法。我使用call方法更改this变量,现在我解决了我的问题。
【问题讨论】:
-
如果它们是全局的,你可以在窗口的某个属性下找到它们。如果它们是本地的,则很难找到它们。
-
除非这是一个纯粹的哲学问题,否则我怀疑你问这个问题的原因是你对如何做某事感到困惑(并且以某种不正确的方式做事)。您能解释一下为什么这个功能对您很重要吗?
标签: javascript variables object