找出实例变量名称

时间:2012-06-06 09:28:29

标签: javascript oop function

我创建了一个JavaScript类,如下所示:

function MyClass() {
    this.myProp = '';
}
MyClass.prototype.myTestFunction = function() {
    alert('test');
}

现在,我实例化了这个类。

var myTestInstance = new MyClass();
myTestInstance.myTestFunction();

这将输出带有'test'的警报。

现在我希望将变量名'myTestInstance'放入函数'myTestFunction()'中,而不必将其作为参数传递。

以某种方式可以从被调用函数中找出实例的变量名吗?

感谢您的帮助!

编辑:只是添加信息为什么我需要这个:我在我的真实项目中创建的每个实例都是一个特殊的HTML表。在标题字段中是每列的排序按钮。因此,我动态添加了href='javascript:myTableInstance.sort()'的链接元素。要在实例中动态打印它,我需要变量名。

会有另一种更好的解决方案吗?

1 个答案:

答案 0 :(得分:5)

不,它没有任何意义。首先,实例没有绑定到单个变量(它可能被许多变量引用,它可以被无引用 - 也许作为某个数组的成员) - 所以问题“存储的变量的名称是什么实例“无法回答。其次,myTestFunction和myTestInstance的范围可能非常不同。在通常情况下,myTestFunction不会“看到”定义myTestInstance的范围 - 因此知道变量的名称将无济于事。

你应该在myTestFunction中使用“this”。