火狐针对getter与setter搞了四个好东西,__defineGetter__,__defineSetter__,get与set。IE唯一只能模拟__defineGetter__。

  Object.prototype.__defineGetter__ = function(attributeName,hanlder){
    if(typeof(hanlder)=="string"){
      handler=new Function(hanlder);
    }
    else if(typeof(hanlder)=="function"){
      $owner = this;
      this[attributeName]={
        valueOf:function(){return hanlder.apply($owner, arguments)},
        toString:function(){return hanlder.apply($owner, arguments)}
      };
    }
    else throw new TypeError();
  }

相关文章:

  • 2021-11-30
  • 2021-09-14
  • 2021-12-30
  • 2021-09-08
  • 2021-06-19
  • 2021-07-03
  • 2021-07-17
猜你喜欢
  • 2022-12-23
  • 2021-12-19
  • 2022-12-23
  • 2022-12-23
  • 2021-11-27
  • 2021-10-11
  • 2021-11-15
相关资源
相似解决方案