源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

每天一篇javascript学习小结(属性定义方法)

  • 时间:2020-01-14 11:11 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:每天一篇javascript学习小结(属性定义方法)
[b]定义(Definition).[/b]定义属性需要使用相应的函数,比如: [b]Object.defineProperty(obj, "prop", propDesc)[/b] 如果obj没有prop这个自身属性,则该函数的作用是给obj添加一个自身属性prop并赋值, 参数propDesc指定了该属性拥有的特性(可写性,可枚举性等). 如果obj已经有了prop这个自身属性,则该函数的作用是修改这个已有属性的特性,当然也包括它的属性值. [b]1、defineProperty[/b]      
 var book = {
   _year: 2004,
   edition: 1
  };
   
  Object.defineProperty(book, "year", {
   get: function(){
    return this._year;
   },
   set: function(newValue){
   
    if (newValue > 2004) {
     this._year = newValue;
     this.edition += newValue - 2004;
    
    }
   }
  });
  
  book.year = 2005;
  alert(book.edition); //2
[b]2、__defineSetter__ 和 __defineGetter__ [/b]
 var book = {
   _year: 2004,
   edition: 1
  };
   
  //legacy accessor support
  book.__defineGetter__("year", function(){
   return this._year; 
  });
  
  book.__defineSetter__("year", function(newValue){
   if (newValue > 2004) {
    this._year = newValue;
    this.edition += newValue - 2004;
   } 
  });

  
  book.year = 2005;
  alert(book.edition); //2
以上就是今天的javascript学习小结,之后每天还会继续更新,希望大家继续关注。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部