我想要找到一种方法来从定义在"objName“中的函数"fn”中获取名称"objName“。
查看注释以了解它应该如何工作。
this.objName = {
fn : function () {console.log("????");}
}
this.objName.fn() // objName显然,"fn“函数不会以这种方式调用,而是从JavaScript按钮操作事件中调用。(该按钮在this.objName ={ ....中定义})
发布于 2011-10-12 00:04:33
丑陋,但是
this.ns = {};
this.ns.objName = {
fn : function () {
for (var k in ns)
if (this === ns[k]) {
alert(k);
return;
}
}
}
this.ns.objName.fn(); // objName你可以去掉ns而使用window。
编辑;更新后,如果要从该对象创建的事件处理程序中访问该对象;
var Obj = new function() {
this.objName = {
id: 42,
makeLink: function () {
var self = this;
document.getElementById("someelement").onclick = function(e) {
alert(self.id); // 42
};
}
}
}发布于 2011-10-12 00:04:37
我之前一直在找这个..。直到我意识到(在这里查看了stackoverflow),如果你能够写:
this.objName.fn()你已经知道'objName‘是什么了。
https://stackoverflow.com/questions/7728984
复制相似问题