每天一篇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 相关文章推荐
javascript AutoScroller 函数类
May 29 Javascript
jQuery 操作option的实现代码
Mar 03 Javascript
一个网页标题title的闪动提示效果实现思路
Mar 22 Javascript
jquery使用hide方法隐藏指定id的元素
Mar 30 Javascript
js+html5实现的自由落体运动效果代码
Jan 28 Javascript
Vue.js快速入门实例教程
Oct 15 Javascript
jQuery+CSS3实现点赞功能
Mar 13 Javascript
微信小程序使用wxParse解析html的方法教程
Jul 06 Javascript
js中位运算的运用实例分析
Dec 11 Javascript
详解微信小程序之一键复制到剪切板
Apr 24 Javascript
微信小程序 Storage更新详解
Jul 16 Javascript
js实现抽奖功能
Nov 24 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开发文件系统实例讲解
2006/10/09 PHP
PHP的几个常用加密函数
2016/02/03 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
THINKPHP截取中文字符串函数实例代码
2017/03/20 PHP
php正则表达式基本知识与应用详解【经典教程】
2017/04/17 PHP
基于Laravel5.4实现多字段登录功能方法示例
2017/08/11 PHP
PHP实现的AES 128位加密算法示例
2019/09/16 PHP
Javascript SHA-1:Secure Hash Algorithm
2006/12/20 Javascript
javascript 网页跳转的方法
2008/12/24 Javascript
Javascript String.replace的妙用
2009/09/08 Javascript
基于jQuery的Tab选项框效果代码(插件)
2011/03/01 Javascript
js图片延迟加载的实现方法及思路
2013/07/22 Javascript
NodeJS学习笔记之网络编程
2014/08/03 NodeJs
jQuery遍历json中多个map的方法
2015/02/12 Javascript
浅析在javascript中创建对象的各种模式
2016/05/06 Javascript
jQuery实现摸拟alert提示框
2016/05/22 Javascript
javaScript事件机制兼容【详细整理】
2016/07/23 Javascript
JavaScript触发onScroll事件的函数节流详解
2016/12/14 Javascript
vue组件与复用详解
2018/04/08 Javascript
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
代码讲解Python对Windows服务进行监控
2018/02/11 Python
python爬虫获取小区经纬度以及结构化地址
2018/12/30 Python
python的内存管理和垃圾回收机制详解
2019/05/18 Python
把django中admin后台界面的英文修改为中文显示的方法
2019/07/26 Python
python爬虫 urllib模块发起post请求过程解析
2019/08/20 Python
关于Tensorflow 模型持久化详解
2020/02/12 Python
pytorch 使用加载训练好的模型做inference
2020/02/20 Python
pycharm 快速解决python代码冲突的问题
2021/01/15 Python
应届医学毕业生求职信分享
2013/12/02 职场文书
业务主管岗位职责范本
2013/12/25 职场文书
意外伤害赔偿协议书
2014/09/16 职场文书
总经理岗位职责范本
2015/04/01 职场文书
大学生入党群众意见书
2015/06/02 职场文书
2016年清明节期间群众祭祀活动工作总结
2016/04/01 职场文书
vue使用v-model进行跨组件绑定的基本实现方法
2021/04/28 Vue.js
php中配置文件保存修改操作 如config.php文件的读取修改等操作
2021/05/12 PHP