每天一篇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 相关文章推荐
两个DIV等高的JS的实现代码
Dec 23 Javascript
parseInt parseFloat js字符串转换数字
Aug 01 Javascript
jQuery中Ajax的get、post等方法详解
Jan 20 Javascript
js兼容火狐显示上传图片预览效果的方法
May 21 Javascript
jQuery实现大转盘抽奖活动仿QQ音乐代码分享
Aug 21 Javascript
如何通过js实现图片预览功能【附实例代码】
Mar 30 Javascript
bootstrap中模态框、模态框的属性实例详解
Feb 17 Javascript
vue组件实现文字居中对齐的方法
Aug 23 Javascript
浅析Proxy可以优化vue的数据监听机制问题及实现思路
Nov 29 Javascript
vue实现Excel文件的上传与下载功能的两种方式
Jun 28 Javascript
html-webpack-plugin修改页面的title的方法
Jun 18 Javascript
Angular+Ionic使用queryParams实现跳转页传值的方法
Sep 05 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
[FAQ]PHP中的一些常识:类篇
2006/10/09 PHP
php采集时被封ip的解决方法
2010/08/29 PHP
解析php中获取url与物理路径的总结
2013/06/21 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
2013/06/28 PHP
JavaScript实现Sleep函数的代码
2007/03/04 Javascript
js电信网通双线自动选择技巧
2008/11/18 Javascript
JavaScript自执行闭包的小例子
2013/06/29 Javascript
javascript删除数组元素并且数组长度减小的简单实例
2014/02/14 Javascript
JS动态添加Table的TR,TD实现方法
2015/01/28 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
jQuery Ajax实现跨域请求
2017/01/21 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
2017/04/22 Javascript
Angular获取手机验证码实现移动端登录注册功能
2017/05/17 Javascript
JS原生带小白点轮播图实例讲解
2017/07/22 Javascript
js实现省市级联效果分享
2017/08/10 Javascript
基于vue中keep-alive缓存问题的解决方法
2018/09/21 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
vue配置nprogress实现页面顶部进度条
2019/09/21 Javascript
jquery传参及获取方式(两种方式)
2020/02/13 jQuery
Vue双向数据绑定(MVVM)的原理
2020/10/03 Javascript
[01:13:08]2018DOTA2亚洲邀请赛4.6 淘汰赛 mineski vs LGD 第二场
2018/04/10 DOTA
在Python中使用NLTK库实现对词干的提取的教程
2015/04/08 Python
浅谈Python中的数据类型
2015/05/05 Python
python 时间戳与格式化时间的转化实现代码
2016/03/23 Python
python进阶_浅谈面向对象进阶
2017/08/17 Python
对python3 sort sorted 函数的应用详解
2019/06/27 Python
python 列表推导和生成器表达式的使用
2021/02/01 Python
Python第三方库安装缓慢的解决方法
2021/02/06 Python
领先的荷兰线上超市:荷兰之家Holland at Home(支持中文)
2021/01/21 全球购物
.NET面试10题
2014/02/24 面试题
如何开启linux的ssh服务
2015/02/14 面试题
公司中秋节活动方案
2014/02/12 职场文书
工商企业管理专业自荐信范文
2014/04/12 职场文书
计算机毕业大学生求职信
2014/06/26 职场文书
小学教师见习总结
2015/06/23 职场文书
MySQL 8.0 Online DDL快速加列的相关总结
2021/06/02 MySQL