找出实例变量名称本身
Find out instance variable name out of itself
我创建了一个JavaScript类,如下所示:
function MyClass() {
this.myProp = '';
}
MyClass.prototype.myTestFunction = function() {
alert('test');
}
现在,我实例化这个类。
var myTestInstance = new MyClass();
myTestInstance.myTestFunction();
这将输出带有"测试"的警报。
现在我想将变量名称"myTestInstance"放入函数"myTestFunction()"中,而不必将其作为参数传递。
是否可以以某种方式从被调用函数内部找出实例的变量名称?
感谢您的帮助!
编辑:只是为了添加为什么我需要这个的信息:我在真实项目中创建的每个实例都是一个特殊的HTML表。标题字段中是每列的排序按钮。因此,我动态地添加了一个带有href='javascript:myTableInstance.sort()'
的链接元素。要在实例中动态打印它,我需要变量名称。
还会有另一个更好的解决方案吗?
不,这没有任何意义。首先,实例不绑定到单个变量(它可能被许多变量引用,它可能被任何变量引用 - 也许作为某个数组的成员) - 所以"存储实例的变量的名称是什么"这个问题是无法回答的。其次,myTestFunction和myTestInstance的范围可能非常不同。在通常情况下,myTestFunction不会"看到"定义了myTestInstance的范围 - 因此知道变量的名称将无济于事。
你应该在myTestFunction中使用"this"。
相关文章:
- AngularJS-在JSON选择器中使用变量名
- 命令行中的Uglify js;不要弄乱变量名
- 像createComment这样的各种自定义变量名在内联javascript中被覆盖,但在外部js中没有.为什么?
- 这在JavaScript中是一个好的变量名吗
- 在javascript中,在变量名之前使用var有什么区别/优势吗
- 在Javascript中连接一个动态变量名
- 如何使用jQuery循环变量名
- JavaScript将字符串转换为变量名
- 根据发送到javascript中函数的参数创建变量名
- 检索本身包含变量的 Jquery 变量名的值
- 测试JavaScript是否符合异常变量名
- 动态变量名语法
- 动态jQuery变量名
- jquery没有't从DIV数据id中获取PHP变量值,只输出变量名
- Ajax jquery post发布时没有变量名
- 在javascript中的现有变量名中添加一个变量
- 可以't让JavaScript将ID读取为变量名
- 我将如何创建一个带有私有变量的实例方法
- ng绑定html,变量名来自ng repeat,但在其他地方定义了变量
- 如何创建一个对象的多个实例,而不在JavaScript中重用相同的变量名