每天一篇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 相关文章推荐
jValidate 基于jQuery的表单验证插件
Dec 12 Javascript
JavaScript实现多维数组的方法
Nov 20 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
Sep 04 Javascript
JavaScript实现DOM对象选择器
Sep 24 Javascript
使用PBFunc在Powerbuilder中支付宝当面付款功能
Oct 01 Javascript
网站申请不到支付宝接口、微信接口,免接口收款实现方式几种解决办法
Dec 14 Javascript
angularjs指令之绑定策略(@、=、&)
Apr 13 Javascript
Three.js利用Detector.js插件如何实现兼容性检测详解
Sep 26 Javascript
electron中使用bootstrap的示例代码
Nov 06 Javascript
laypage+SpringMVC实现后端分页
Jul 27 Javascript
vue element自定义表单验证请求后端接口验证
Dec 11 Javascript
vue v-model的用法解析
Oct 19 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
PHP脚本的10个技巧(8)
2006/10/09 PHP
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
php调用新浪短链接API的方法
2014/11/08 PHP
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
两种php实现图片上传的方法
2016/01/22 PHP
动态刷新 dorado树的js代码
2009/06/12 Javascript
jquery下组织javascript代码(js函数化)
2010/08/25 Javascript
javascript一些实用技巧小结
2011/03/18 Javascript
使用jquery mobile做幻灯播放效果实现步骤
2013/01/04 Javascript
JavaScript打印网页指定区域的例子
2014/05/03 Javascript
jQuery的图片滑块焦点图插件整理推荐
2014/12/07 Javascript
JavaScript实现把数字转换成中文
2015/06/29 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
jQuery插件Validate实现自定义校验结果样式
2016/01/18 Javascript
jquery插件之文字间歇自动向上滚动效果代码
2016/02/25 Javascript
详解VUE 定义全局变量的几种实现方式
2017/06/01 Javascript
vue通过watch对input做字数限定的方法
2017/07/13 Javascript
微信小程序左右滑动的实现代码
2017/12/15 Javascript
vue 指定组件缓存实例详解
2018/04/01 Javascript
使用typescript开发angular模块并发布npm包
2018/04/19 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
2018/05/07 Javascript
跟老齐学Python之有容乃大的list(1)
2014/09/14 Python
python:print格式化输出到文件的实例
2018/05/14 Python
PyGame贪吃蛇的实现代码示例
2018/11/21 Python
Python 利用pydub库操作音频文件的方法
2019/01/09 Python
pytorch方法测试详解——归一化(BatchNorm2d)
2020/01/15 Python
Python字符串split及rsplit方法原理详解
2020/06/29 Python
CSS3 Notes: -webkit-box-reflect实现倒影的实例
2016/12/08 HTML / CSS
联想法国官方网站:Lenovo法国
2018/10/18 全球购物
耐克奥地利官网:Nike奥地利
2019/08/16 全球购物
库房主管岗位职责
2013/12/31 职场文书
实习心得体会
2014/01/02 职场文书
基督教婚礼主持词
2014/03/14 职场文书
2015年全民创业工作总结
2015/07/23 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers