在my.js中
$(document).ready(function(){
a = new person();
b = new person();
...
})
person.prototype.init = function(){..}
function person(){
var someVariable;
function doSomeThing(){
...
// I need my instance name
...
}
return {doSomeThing:doSomeThing}
}
如何获取我的实例名称?
答案 0 :(得分:3)
没有通用解决方案。
对象没有已经分配到它们的范围外变量名称的内在知识。
如果你的变量属于全局范围(它们不应该是),那么它是可行的,但只能通过迭代window
中的键并查找其值与this
匹配的任何值。
FWIW(除非你正在编写一个JS调试器),如果你认为你需要知道这一点,你可能做错了。例如,JS minifiers通常会更改变量名称,因此您不应该依赖它们。