我想找到一种方法从“objName”中定义的函数“fn”获取名称“objName”。
查看评论以了解它应如何运作。
this.objName = {
fn : function () {console.log("????");}
}
this.objName.fn() // objName
显然,“fn”函数不会以这种方式调用,而是来自JavaScript Button动作事件。 (该按钮在this.objName = {....}中定义)
答案 0 :(得分:4)
丑陋但
怎么样?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
并使用窗口。
修改强>;更新后,如果要从该对象创建的事件处理程序中访问该对象;
var Obj = new function() {
this.objName = {
id: 42,
makeLink: function () {
var self = this;
document.getElementById("someelement").onclick = function(e) {
alert(self.id); // 42
};
}
}
}
答案 1 :(得分:0)
之前我一直在寻找这个......直到我意识到(在看了stackoverflow之后),如果你能够写下来:
this.objName.fn()
你已经知道'objName'是什么了。