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


Posted in Javascript onNovember 19, 2015

定义(Definition).定义属性需要使用相应的函数,比如:
Object.defineProperty(obj, "prop", propDesc)
如果obj没有prop这个自身属性,则该函数的作用是给obj添加一个自身属性prop并赋值,
参数propDesc指定了该属性拥有的特性(可写性,可枚举性等).
如果obj已经有了prop这个自身属性,则该函数的作用是修改这个已有属性的特性,当然也包括它的属性值.
1、defineProperty      

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

2、__defineSetter__ 和 __defineGetter__

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学习小结,之后每天还会继续更新,希望大家继续关注。

Javascript 相关文章推荐
js Form.elements[i]的使用实例
Nov 13 Javascript
Js+Flash实现访问剪切板操作
Nov 20 Javascript
jquery中radio checked问题
Mar 16 Javascript
JavaScript中Date对象的常用方法示例
Oct 24 Javascript
js实现下拉列表选中某个值的方法(3种方法)
Dec 17 Javascript
Web打印解决方案之普通报表打印功能
Aug 29 Javascript
canvas 弹幕效果(实例分享)
Jan 11 Javascript
JS基于正则表达式的替换操作(replace)用法示例
Apr 28 Javascript
JS实现给json数组动态赋值的方法示例
Mar 19 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
Jul 13 Javascript
看看“疫苗查询”小程序有温度的代码
Jul 31 Javascript
JavaScript switch语句使用方法简介
Dec 30 Javascript
理解 JavaScript Scoping & Hoisting(二)
Nov 18 #Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
Nov 18 #Javascript
z-blog SyntaxHighlighter 长代码无法换行解决办法(基于jquery)
Nov 18 #Javascript
JavaScript如何获取数组最大值和最小值
Nov 18 #Javascript
原生js模拟淘宝购物车项目实战
Nov 18 #Javascript
JavaScript统计网站访问次数的实现代码
Nov 18 #Javascript
javascript实现添加附件功能的方法
Nov 18 #Javascript
You might like
模仿OSO的论坛(四)
2006/10/09 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
yii2简单使用less代替css示例
2017/03/10 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
JS中style属性
2006/10/11 Javascript
javascript 事件查询综合 推荐收藏
2010/03/10 Javascript
8个超棒的学习 jQuery 的网站 推荐收藏
2011/04/02 Javascript
js获取html文件的思路及示例
2013/09/17 Javascript
JavaScript中instanceof运算符的用法总结
2013/11/19 Javascript
js面向对象的写法
2016/02/19 Javascript
Jquery attr()方法 属性赋值和属性获取详解
2016/04/15 Javascript
jquery,js简单实现类似Angular.js双向绑定
2017/01/13 Javascript
Angularjs2不同组件间的通信实例代码
2017/05/06 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
在layui tab控件中载入外部html页面的方法
2019/09/04 Javascript
vue实现PC端分辨率适配操作
2020/08/03 Javascript
vue+elementUI中表格高亮或字体颜色改变操作
2020/11/02 Javascript
小程序实现点击tab切换左右滑动
2020/11/16 Javascript
Javascript实现关闭广告效果
2021/01/29 Javascript
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
2009/04/09 Python
从Python的源码浅要剖析Python的内存管理
2015/04/16 Python
python获取当前运行函数名称的方法实例代码
2017/04/06 Python
python安装教程 Pycharm安装详细教程
2017/05/02 Python
使用Python获取并处理IP的类型及格式方法
2018/11/01 Python
python多线程调用exit无法退出的解决方法
2019/02/18 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
HTML5 拖拽批量上传文件的示例代码
2018/03/28 HTML / CSS
linux面试题参考答案(11)
2016/11/26 面试题
Java程序员面试90题
2013/10/19 面试题
带病坚持工作事迹
2014/05/03 职场文书
学校志愿者活动总结
2014/06/27 职场文书
大学生党员学习焦裕禄精神思想汇报
2014/09/10 职场文书
个人批评与自我批评材料
2014/10/17 职场文书
工作态度恶劣检讨书
2015/05/06 职场文书
班组长如何制订适合本班组的工作计划?
2019/07/10 职场文书
Windows Server 2012 R2 磁盘分区教程
2022/04/29 Servers