如何找出与变量名相关联的javascript对象

时间:2014-09-16 08:37:27

标签: javascript javascript-objects objectname

我想了解如何在对象声明中获取变量名称。 更容易描述这个问题是一个例子,所以:

function MyObject (){

    this.NeedToKnow = "";

    this.getLink = function() {
        html = '<a href="javascipt:' +this.NeedToKnow+'.doIt(passVal) ">M</a>';
        return html;
    }

    this.doIt = function(passVal) {
        //do stuff
    }
}

varNeedToKnow = new MyObject ();
var html = varNeedToKnow .getLink();

所以我的问题是,如何找出“varNeedToKnow”来填充this.NeedToKnow里面的对象?

甚至可能吗?

1 个答案:

答案 0 :(得分:1)

我会略微区别对待它,从而更直接地与DOM /事件处理程序进行交互。这样做不需要公开对象范围之外的函数名称,因为click事件现在直接绑定到函数本身。

function MyObject (){

    this.getLink = function() {
        var a = document.createElement('a');
        a.innerHTML = 'MyLink';

        if(a.addEventListener) {
            a.addEventListener('click', this.doStuff, false);
        } else {
            a.attachEvent('onclick', this.doStuff);
        }

        return a;
    };

    this.doStuff = function(passVal) {
        //do stuff
    };
}

var varNeedToKnow = new MyObject ();
var element = varNeedToKnow.getLink();
//element now contains an actual DOM element with a click event bound to your doStuff function