每天一篇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 相关文章推荐
css图片自适应大小
Nov 28 Javascript
一个javascript参数的小问题
Mar 02 Javascript
js 数值转换为3位逗号分隔的示例代码
Feb 19 Javascript
JavaScript DOM节点操作实例小结(新建,删除HTML元素)
Jan 19 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
Mar 06 Javascript
巧妙运用v-model实现父子组件传值的方法示例
Apr 07 Javascript
微信小程序入口场景的问题集合与相关解决方法
Jun 26 Javascript
Vue+Koa2+mongoose写一个像素绘板的实现方法
Sep 10 Javascript
JS实现动态星空背景效果
Nov 01 Javascript
JS实现简单省市二级联动
Nov 27 Javascript
JS中类的静态方法,静态变量,实例方法,实例变量区别与用法实例分析
Mar 14 Javascript
浅谈es6中的元编程
Dec 01 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实现微信公众平台账号自定义菜单类
2014/12/02 PHP
PHP+redis实现添加处理投票的方法
2015/11/14 PHP
php版微信发红包接口用法示例
2016/09/23 PHP
PHP simplexml_load_file()函数讲解
2019/02/03 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
ext实现完整的登录代码
2008/08/08 Javascript
JavaScript学习笔记记录我的旅程
2012/05/23 Javascript
超简单JS二级、多级联动的简单实例
2014/02/18 Javascript
JS嵌套函数调用上下文的问题解决
2014/03/26 Javascript
原生JS绑定滑轮滚动事件兼容常见浏览器
2014/06/30 Javascript
JS实现浏览器状态栏显示时间的方法
2015/10/27 Javascript
jQuery遍历DOM节点操作之filter()方法详解
2016/04/14 Javascript
JavaScript编写带旋转+线条干扰的验证码脚本实例
2016/05/30 Javascript
JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别
2016/05/31 Javascript
Js apply方法详解
2017/02/16 Javascript
Vue.js数据绑定之data属性
2017/07/07 Javascript
页面缩放兼容性处理方法(zoom,Firefox火狐浏览器)
2017/08/29 Javascript
Java设计中的Builder模式的介绍
2018/03/22 Javascript
JS中判断字符串存在和非空的方法
2018/09/12 Javascript
Vue中的vue-resource示例详解
2018/11/02 Javascript
150行代码带你实现微信小程序中的数据侦听
2019/05/17 Javascript
[46:44]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
python 字符串split的用法分享
2013/03/23 Python
巧用python和libnmapd,提取Nmap扫描结果
2016/08/23 Python
分享一个简单的python读写文件脚本
2017/11/25 Python
在Python中输入一个以空格为间隔的数组方法
2018/11/13 Python
python打印异常信息的两种实现方式
2019/12/24 Python
荷兰网上买鞋:MooieSchoenen.nl
2017/09/12 全球购物
SQL Server笔试题
2012/01/10 面试题
医药销售求职信范文
2014/02/01 职场文书
大学新生军训感言
2014/02/25 职场文书
保护动物倡议书
2014/04/15 职场文书
信息与计算机科学职业规划范文:成为一艘有方向的船
2014/09/11 职场文书
2015纪念九一八事变84周年演讲稿
2015/03/19 职场文书
边城读书笔记
2015/06/29 职场文书
jdbc中自带MySQL 连接池实践示例
2022/07/23 MySQL