每天一篇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 保存文件到本地实现方法
Nov 29 Javascript
禁止你的左键复制实用技巧
Jan 04 Javascript
javascript自适应宽度的瀑布流实现思路
Feb 20 Javascript
浅析用prototype定义自己的方法
Nov 14 Javascript
jquery判断单选按钮radio是否选中的方法
May 05 Javascript
jquery图片倾斜层叠切换特效代码分享
Aug 27 Javascript
javascript实现在指定元素中垂直水平居中
Sep 13 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
Jun 22 Javascript
vue技术分享之你可能不知道的7个秘密
Apr 09 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
Sep 04 Javascript
Vue组件Draggable实现拖拽功能
Dec 01 Javascript
ES6入门教程之let、const的使用方法
Apr 13 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
菜鸟修复电子管记
2021/03/02 无线电
深入php数据采集的详解
2013/06/02 PHP
php实现curl模拟ftp上传的方法
2015/07/29 PHP
谈谈php对接芝麻信用踩的坑
2016/12/01 PHP
jQuery入门第一课 jQuery选择符
2010/03/14 Javascript
THREE.JS入门教程(1)THREE.JS使用前了解
2013/01/24 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
JavaScript限定图片显示大小的方法
2015/03/11 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
2015/09/08 Javascript
基于javascript制作微信聊天面板
2020/08/09 Javascript
基于JS组件实现拖动滑块验证功能(代码分享)
2016/11/18 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
2017/03/02 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
Angular学习笔记之集成三方UI框架、控件的示例
2018/03/23 Javascript
如何使node也支持从url加载一个module详解
2018/06/05 Javascript
VUE 自定义组件模板的方法详解
2019/08/30 Javascript
浅谈关于vue中scss公用的解决方案
2019/12/02 Javascript
vue-列表下详情的展开与折叠案例
2020/07/28 Javascript
JavaScript实现alert弹框效果
2020/11/19 Javascript
通过代码实例展示Python中列表生成式的用法
2015/03/31 Python
《Python之禅》中对于Python编程过程中的一些建议
2015/04/03 Python
Python基于有道实现英汉字典功能
2015/07/25 Python
Python快速转换numpy数组中Nan和Inf的方法实例说明
2019/02/21 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
2019/09/03 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
Python 使用 prettytable 库打印表格美化输出功能
2019/12/26 Python
Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例
2020/03/04 Python
用canvas画心电图的示例代码
2018/09/10 HTML / CSS
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
国际性能运动服装品牌:Dare 2b
2018/07/27 全球购物
机械设计专业应届生求职信
2013/11/21 职场文书
上课打牌的检讨书
2014/02/15 职场文书
开票员岗位职责
2015/02/12 职场文书
幼儿体育课教学反思
2016/02/16 职场文书