链接两个对象//在第一个和第二个上更新值

时间:2010-10-11 20:28:37

标签: javascript oop

function associate( obj1 ,obj2 , key ){
    if(typeof key === 'object'){
        for ( var i in key )
            associate(obj1, obj2 , key[i]);
    } else {
        obj1.watch(key, function (id, oldval, newval) {
                obj2[id] = newval;
                return newval;
        });
    }

} 

我写了这个函数,因为如果有不同的obj并且都需要更新。 你怎么看待这个功能?

  obj = { key1: 'value2', key2: 'value2'} 
  obj2 =  {key1: 'value2', key2 : 'value2'}

  associate( obj ,obj2 , 'key1' )

  obj.key1 = 'new value';

  console.log(obj.key1) 
  --> 'new value'

  console.log(obj2.key1) 
  --> 'new value'

1 个答案:

答案 0 :(得分:0)

它无效。完全没有。

return obj1[id] = obj2[id] = newval;

特别是这不会让你到任何地方。

如果您想在代码中找到问题,请随意使用http://www.jslint.com/