每天一篇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 相关文章推荐
在网页里看flash的trace数据的js类
Jan 10 Javascript
jQuery图片预加载 等比缩放实现代码
Oct 04 Javascript
jquery实现tr元素的上下移动示例代码
Dec 20 Javascript
document.addEventListener使用介绍
Mar 07 Javascript
JavaScript实现弹出子窗口并传值给父窗口
Dec 18 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
Oct 14 Javascript
基于JS实现的随机数字抽签实例
Dec 08 Javascript
JS对象的深度克隆方法示例
Mar 16 Javascript
对类Vue的MVVM前端库的实现代码
Sep 07 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
Sep 14 Javascript
vue props 单项数据流实例分享
Feb 16 Javascript
Vue Object.defineProperty及ProxyVue实现双向数据绑定
Sep 02 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的责任链编程模式
2015/08/11 PHP
详谈PHP中的密码安全性Password Hashing
2017/02/04 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
2017/08/07 PHP
php session_decode函数用法讲解
2019/05/26 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
Hutia 的 JS 代码集
2006/10/24 Javascript
javascript attachEvent和addEventListener使用方法
2009/03/19 Javascript
响应鼠标变换表格背景或者颜色的代码
2009/03/30 Javascript
js获取TreeView控件选中节点的Text和Value值的方法
2012/11/24 Javascript
node.js中的http.response.writeHead方法使用说明
2014/12/14 Javascript
在ASP.NET MVC项目中使用RequireJS库的用法示例
2016/02/15 Javascript
javascript 内置对象及常见API详细介绍
2016/11/01 Javascript
JavaScript中定时控制Throttle、Debounce和Immediate详解
2016/11/17 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
2017/03/03 Javascript
jQuery简单绑定单个事件的方法示例
2017/06/10 jQuery
es7学习教程之Decorators(修饰器)详解
2017/07/21 Javascript
vue router-link传参以及参数的使用实例
2017/11/10 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
JS中touchstart事件与click事件冲突的解决方法
2018/03/12 Javascript
Angular学习教程之RouterLink花式跳转
2018/05/03 Javascript
微信小程序实现页面跳转传递参数(实体,对象)
2019/08/12 Javascript
详解Vue的ref特性的使用
2020/01/24 Javascript
理解JavaScript中的Proxy 与 Reflection API
2020/09/21 Javascript
[55:44]完美世界DOTA2联赛决赛 FTD vs Phoenix 第二场 11.08
2020/11/11 DOTA
pytorch + visdom CNN处理自建图片数据集的方法
2018/06/04 Python
python2和python3哪个使用率高
2020/06/23 Python
解决keras使用cov1D函数的输入问题
2020/06/29 Python
利用python+request通过接口实现人员通行记录上传功能
2021/01/13 Python
Bjorn Borg官方网上商店:国际运动时尚品牌
2016/08/27 全球购物
印度首个本地在线平台:nearbuy
2019/03/28 全球购物
人事助理岗位职责
2013/11/18 职场文书
《金子》教学反思
2014/04/13 职场文书
征求意见函
2015/06/05 职场文书
公共场所卫生管理制度
2015/08/05 职场文书
五一放假通知怎么写
2015/08/18 职场文书