每天一篇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 相关文章推荐
jQuery find和children方法使用
Jan 31 Javascript
javascript实现页面内关键词高亮显示代码
Apr 03 Javascript
js检测网络是否具体连接功能的代码
May 23 Javascript
javascript中定义类的方法详解
Feb 10 Javascript
jQuery实用技巧必备(上)
Nov 02 Javascript
javascript实现拖放效果
Dec 16 Javascript
jquery popupDialog 使用 加载jsp页面的方法
Oct 25 Javascript
js放大镜放大购物图片效果
Jan 18 Javascript
浅谈vue中数据双向绑定的实现原理
Sep 14 Javascript
angularJs 表格添加删除修改查询方法
Feb 27 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
Dec 11 Javascript
Preload基础使用方法详解
Feb 03 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
S900/ ETON E1-XM 收音机
2021/03/02 无线电
PHP UTF8编码内的繁简转换类
2009/07/20 PHP
php使用异或实现的加密解密实例
2013/09/04 PHP
php实现最简单的MVC框架实例教程
2014/09/08 PHP
Zend Framework实现自定义过滤器的方法
2016/12/09 PHP
用javascript控制iframe滚动的代码
2007/04/10 Javascript
纯JAVASCRIPT图表动画插件Highcharts Examples
2011/04/16 Javascript
js修改input的type属性及浏览器兼容问题探讨与解决
2013/01/23 Javascript
Js实现手机发送验证码时按钮延迟操作
2014/06/20 Javascript
jQuery简单实现日历的方法
2015/05/04 Javascript
解决JS无法调用Controller问题的方法
2015/12/31 Javascript
使用vue.js实现联动效果的示例代码
2017/01/10 Javascript
jQuery实现简单弹窗遮罩效果
2017/02/27 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
2017/06/19 Javascript
vue中七牛插件使用的实例代码
2017/07/28 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
使用Python的Flask框架实现视频的流媒体传输
2015/03/31 Python
简单讲解Python中的数字类型及基本的数学计算
2016/03/11 Python
浅谈Python数据类型之间的转换
2016/06/08 Python
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
python+selenium实现163邮箱自动登陆的方法
2017/12/31 Python
Python使用ConfigParser模块操作配置文件的方法
2018/06/29 Python
浅述python中深浅拷贝原理
2018/09/18 Python
解决jupyter notebook显示不全出现框框或者乱码问题
2020/04/09 Python
基于Python绘制个人足迹地图
2020/06/01 Python
sklearn的predict_proba使用说明
2020/06/28 Python
基于Python的一个自动录入表格的小程序
2020/08/05 Python
CSS3实现圆角、阴影、透明效果并兼容各大浏览器
2014/08/08 HTML / CSS
CSS3 清除浮动的方法示例
2018/06/01 HTML / CSS
I.T中国官网:精选时尚设计师单品网购平台
2018/03/26 全球购物
韩国演唱会订票网站:StubHub韩国
2019/01/17 全球购物
城市创卫标语
2014/06/17 职场文书
本科毕业生应聘自荐信范文
2014/06/26 职场文书
员工工作表扬信
2015/05/05 职场文书
鸿蒙3.0体验感怎么样? 鸿蒙3.0系统评测向
2022/08/14 数码科技