如何在为对象分配值时调用函数

时间:2010-06-21 17:19:21

标签: javascript

嗨我在单独的js文件中使用以下函数

//in js file 1
setUsername: function(v){
document.Load.LogUsername = v;
}
//in js file 2{wrapper for js file 1}
LogUserName: function(v)
{
  return myobject.SetLoguserName(v);
}

当调用document.Load.LogUsername = v;时,我需要它来调用LogUserName函数。 LogUserName是setUsername的包装器。任何想法如何让这个工作。我知道如果改变 document.Load.LogUsername = v;document.Load.LogUsername(v);然后它有效,但我被要求不要更改js文件1

2 个答案:

答案 0 :(得分:1)

您需要保存原始功能,如下所示:

var originalLogUserName = document.Load.LogUsername;
LogUserName: function(v)
{
    return originalLogUserName.call(myobject, v);
}

答案 1 :(得分:1)

您需要使用setter。 E.g:

document.Load = 
{
  set LogUsername(v) 
  {
    myobject.SetLoguserName(v);
  }
};