Javascript 获取变量的名称

Javascript 获取变量的名称,javascript,html,Javascript,Html,在此代码中: function myType(string){ this.string = string; this.getName = function(){ //return this.name; } } var myVar = new myType("string"); 如果我使用myVar.getName(),它应该返回myVar。我需要它来创建一个弹出框来更改页面的整个,因此获得这个函数对我来说很重要 我怎样才能做到 编辑: 我要做的是编写一

在此代码中:

function myType(string){
    this.string = string;
    this.getName = function(){
        //return this.name;
    }
}
var myVar = new myType("string");
如果我使用
myVar.getName()
,它应该返回
myVar
。我需要它来创建一个弹出框来更改页面的整个
,因此获得这个函数对我来说很重要

我怎样才能做到


编辑:

我要做的是编写一个自定义对象。以下是步骤:

  • 用户使用字符串创建对象
  • 我定义函数:
    (1) call():调用内联弹出框,将页面的整个主体部分更改为弹出框;它将当前正文保存在此文档内容中 (2) hide():它使用
    document.body.innerHTML
    将主体更改为
    this.document\u content
  • 用户使用`[变量名].call()进行调用;"
  • 用户可以通过单击弹出框中的
    按钮来关闭弹出框
  • 我发现的问题在
    2(1)
    中,我无法获取变量的名称以将其放入
    onclick
    中的代码中


    我能做什么?

    如果您想更改构造函数,可以这样做-

    function myType(name, string){
        this.string = string;
        this.name = name;
        this.getName = function(){
            return this.name;
        }
    }
    var myVar = new myType("myVar","string");
    
    或者,您可以创建哈希:

    function myType(name, string){
            this.string = string;
            this.name = name;
            this.getName = function(){
                return this.name;
            }
            var res = {}
            res[name] = this;
            return res;
        }
    // Add response to an hash
    var hash = {}
    $.extend(hash, new myType("myVar","string"));
    

    我认为这是不可能的。您无法从对象实例内部确定引用它的名称。请记住,它可以在多个名称下引用。我不太明白您的意思……是的,在js中不可能。您能提供真实的示例吗?因为在这里,当调用
    myVar.getName()时
    ,您已经知道
    myVar
    的名称是
    myVar
    ,所以我看不出这种方法的目的……是的,我已经想到了,但我正在努力使它更方便。请参阅编辑-另一个选项