每天一篇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 动态table添加colspan\rowspan 参数的方法
Jul 25 Javascript
使用JavaScript switch case 另类写法
Mar 14 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
Jun 05 Javascript
Js控制滑轮左右滑动实例
Feb 13 Javascript
跟我学习JScript的Bug与内存管理
Nov 18 Javascript
浅谈Javascript数组(推荐)
May 17 Javascript
BootStrap 实现各种样式的进度条效果
Dec 07 Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
Jul 18 jQuery
ionic2懒加载配置详解
Sep 01 Javascript
ES6中的迭代器、Generator函数及Generator函数的异步操作方法
May 12 Javascript
基于Express框架使用POST传递Form数据
Aug 10 Javascript
javascript实现扫雷简易版
Aug 18 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防止伪造数据从地址栏URL提交的方法
2014/08/24 PHP
php获取文章上一页与下一页的方法
2014/12/01 PHP
PHP观察者模式实例分析【对比JS观察者模式】
2019/05/22 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
如何用js控制css中的float的代码
2007/08/16 Javascript
基于jQuery选择器的整理集合
2013/04/26 Javascript
jQuery中ajax的post()方法用法实例
2014/12/26 Javascript
Javascript验证方法大全
2015/09/21 Javascript
基于BootStrap Metronic开发框架经验小结【九】实现Web页面内容的打印预览和保存操作
2016/05/12 Javascript
JavaScript实现窗口抖动效果
2016/10/19 Javascript
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
表格展示利器 Bootstrap Table实例代码
2017/09/06 Javascript
解决vue页面刷新或者后退参数丢失的问题
2018/03/13 Javascript
element-ui 表格数据时间格式化的方法
2018/08/24 Javascript
vue实现多个元素或多个组件之间动画效果
2018/09/25 Javascript
React父子组件间的传值的方法
2018/11/13 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
vue cli3.0打包上线静态资源找不到路径的解决操作
2020/08/03 Javascript
通过实例解析json与jsonp原理及使用方法
2020/09/27 Javascript
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
2021/03/01 Vue.js
python控制windows剪贴板,向剪贴板中写入图片的实例
2018/05/31 Python
我用Python抓取了7000 多本电子书案例详解
2019/03/25 Python
python3.x实现base64加密和解密
2019/03/28 Python
Numpy数组array和矩阵matrix转换方法
2019/08/05 Python
python编写俄罗斯方块
2020/03/13 Python
英国网上香水店:Fragrance Direct
2016/07/20 全球购物
Dogeared官网:在美国手工制作的珠宝
2019/08/24 全球购物
阿迪达斯印尼官方网站:adidas印尼
2020/02/10 全球购物
荷兰家电销售网站:Welhof
2020/12/08 全球购物
大学生职业规划书的范本
2014/02/18 职场文书
办公室主任竞聘演讲稿
2014/05/15 职场文书
人代会标语
2014/06/30 职场文书
工作推荐信模板
2015/03/25 职场文书
2016年秋季开学典礼新闻稿
2015/11/25 职场文书
2016年春季运动会通讯稿
2015/11/25 职场文书
《王国之心》迎来了发售的20周年, 野村哲发布贺图
2022/04/11 其他游戏