在内联函数中访问javascript变量

时间:2012-04-24 15:25:28

标签: javascript html

我希望在动态更改对象事件onclick事件处理程序时访问名为storedata的变量

function update_data(storedata)
{
    obj.onclick=function() {remover(this,storedata); };
}

无法在内部函数中访问storedata。

当我尝试使用alert(obj.onclick)时,结果就是remover(this,storedata)。似乎变量没有被它的值取代!!

任何想法?

2 个答案:

答案 0 :(得分:2)

它被“替换”了。问题就在于你试图检查它的方式。

当你提醒一个函数时,你得到一个函数的字符串化版本......并且包含变量名而不是每个变量的序列化。

如果您实际调用该函数,该变量将与您提供的值一起使用。

答案 1 :(得分:0)

您需要将它作为无论如何都有事件处理程序的对象的属性附加。当你的storeata是一个字符串而你正在使用HTML5时,你可以这样做:

function update_data(storedata){
   obj.dataStoredata = storedata;
   obj.onclick = function(){
      remover(this);
    };
}

remover功能的内部,您只需访问包含数据的this.dataStoredata即可。