每天一篇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在IE或Firefox下获取鼠标位置的代码
Dec 18 Javascript
再论Javascript下字符串连接的性能
Mar 05 Javascript
FireFox下XML对象转化成字符串的解决方法
Dec 09 Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
Dec 23 Javascript
jQueryUI Datepicker组件设置日期高亮
Oct 13 Javascript
JQuery获取鼠标进入和离开容器的方向
Dec 29 Javascript
JS利用cookies设置每隔24小时弹出框
Apr 20 Javascript
JS实现动态给标签控件添加事件的方法示例
May 13 Javascript
浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
Mar 13 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
Aug 20 Javascript
微信小程序购物车、父子组件传值及calc的注意事项总结
Nov 14 Javascript
Vant 中的Toast设置全局的延迟时间操作
Nov 04 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对二维数组进行相关操作(排序、转换、去空白等)
2015/11/04 PHP
详解WordPress中用于更新和获取用户选项数据的PHP函数
2016/03/08 PHP
PHP中抽象类和抽象方法概念与用法分析
2016/05/24 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
2017/07/31 PHP
phpStudy中升级MySQL版本到5.7.17的方法步骤
2017/08/03 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
jQuery 阴影插件代码分享
2012/01/09 Javascript
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
javascript ajax的5种状态介绍
2014/08/18 Javascript
jQuery定义背景动态切换效果的方法
2015/03/23 Javascript
jQuery插件bgStretcher.js实现全屏背景特效
2015/06/05 Javascript
JS实现简单的图书馆享元模式实例
2015/06/30 Javascript
NodeJS实现阿里大鱼短信通知发送
2016/01/17 NodeJs
Angularjs material 实现搜索框功能
2016/03/08 Javascript
解决bootstrap导航栏navbar在IE8上存在缺陷的方法
2016/07/01 Javascript
JavaScript面试题大全(推荐)
2016/09/22 Javascript
在nginx上部署vue项目(history模式)的方法
2017/12/28 Javascript
微信小程序实现评论功能
2018/11/28 Javascript
VUE中使用MUI方法
2019/02/12 Javascript
js数组相减简单示例【删除a数组所有与b数组相同元素】
2020/03/04 Javascript
JavaScript 接口原理与用法实例详解
2020/05/12 Javascript
详解微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)
2020/07/21 Javascript
在Django model中设置多个字段联合唯一约束的实例
2019/07/17 Python
Python networkx包的实现
2020/02/14 Python
使用css3匹配手机屏幕横竖状态
2014/01/27 HTML / CSS
HTML5中的强制下载属性download使用实例解析
2016/05/12 HTML / CSS
澳大利亚领先的亚麻品牌:Bed Threads
2019/12/16 全球购物
英国健身专家:WIT Fitness
2021/02/09 全球购物
党校培训自我鉴定
2014/02/01 职场文书
《草原的早晨》教学反思
2014/04/08 职场文书
银行职员自我鉴定
2014/04/20 职场文书
2014年教师工作总结
2014/11/10 职场文书
小学新教师个人总结
2015/02/05 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书
Redis基本数据类型Zset有序集合常用操作
2022/06/01 Redis
Hive导入csv文件示例
2022/06/25 数据库