JS使用对象的defineProperty进行变量监控操作示例


Posted in Javascript onFebruary 02, 2019

本文实例讲述了JS使用对象的defineProperty进行变量监控操作。分享给大家供大家参考,具体如下:

以前觉得检测变量angular的$watch还挺好用的,但是一旦离开angular就无法下手了,今天看到一个方法,觉得挺好的,可能还

有别的办法,我会继续探索的

贴上代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script type="text/javascript">
var data = {key:1};
Object.defineProperty(data, "key", {
set: function(value) {
value++
console.log(value)
}
});
// window.onload = function(){
// data.key = 2;
// data.key = 3;
// }
var num = 0;
var timer = setInterval(function(){
data.key = num;
num++;
},2000)
</script>
</body>
</html>

这样效果就出来了,截个图

JS使用对象的defineProperty进行变量监控操作示例

每隔两秒会打印一次,哈哈

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
数组Array进行原型prototype扩展后带来的for in遍历问题
Feb 07 Javascript
Javascript 面向对象 重载
May 13 Javascript
关于innerHTML后丢失动态绑定的EVENT问题解决方法
May 19 Javascript
js中复制行和删除行的操作实例
Jun 25 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
Apr 02 Javascript
jQuery实现文本展开收缩特效
Jun 03 Javascript
AngularJS的表单使用详解
Jun 17 Javascript
JavaScript事件详细讲解
Jun 27 Javascript
关于js函数解释(包括内嵌,对象等)
Nov 20 Javascript
微信小程序自定义模态对话框实例详解
Aug 16 Javascript
使用Vue实现图片上传的三种方式
Jul 17 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
Mar 16 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
Feb 02 #Javascript
通过cordova将vue项目打包为webapp的方法
Feb 02 #Javascript
用Cordova打包Vue项目的方法步骤
Feb 02 #Javascript
JS实现数组去重及数组内对象去重功能示例
Feb 02 #Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
Feb 01 #Javascript
JavaScript动态创建二维数组的方法示例
Feb 01 #Javascript
Electron 如何调用本地模块的方法
Feb 01 #Javascript
You might like
一个域名查询的程序
2006/10/09 PHP
php 缓存函数代码
2008/08/27 PHP
基于php上传图片重命名的6种解决方法的详细介绍
2013/04/28 PHP
js iframe跨域访问(同主域/非同主域)分别深入介绍
2013/01/24 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
jquery隔行换色效果实现方法
2015/01/15 Javascript
JS实现进入页面时渐变背景色的方法
2015/02/25 Javascript
jQuery实现的超酷苹果风格图标滑出菜单效果代码
2015/09/16 Javascript
JavaScript数据存储 Cookie篇
2016/07/02 Javascript
微信小程序技巧之show内容展示,上传文件编码问题
2017/01/23 Javascript
用js制作淘宝放大镜效果
2020/10/28 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
2017/03/25 Javascript
JavaScript之map reduce_动力节点Java学院整理
2017/06/29 Javascript
JS实现上传图片的三种方法并实现预览图片功能
2017/07/14 Javascript
Dropify.js图片宽高自适应的方法
2017/11/27 Javascript
浅谈React中组件间抽象
2018/01/27 Javascript
理解Koa2中的async&amp;await的用法
2018/02/05 Javascript
浅谈node.js 命令行工具(cli)
2018/05/10 Javascript
React中阻止事件冒泡的问题详析
2019/04/12 Javascript
[00:32]DOTA2上海特级锦标赛 Ehome战队宣传片
2016/03/03 DOTA
Python设计模式之命令模式简单示例
2018/01/10 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
tensorflow中next_batch的具体使用
2018/02/02 Python
python集合常见运算案例解析
2019/10/17 Python
CSS3结构性伪类选择器九种写法
2012/04/18 HTML / CSS
解决H5的a标签的download属性下载service上的文件出现跨域问题
2019/07/16 HTML / CSS
英国和爱尔兰的自炊式豪华度假小屋:Rural Retreats
2018/06/08 全球购物
Brydge英国:适用于Apple iPad和Microsoft Surface Pro的蓝牙键盘
2019/05/16 全球购物
出口公司经理求职简历中的自我评价
2013/10/13 职场文书
成人教育自我鉴定
2013/11/01 职场文书
计算机应用职专应届生求职信
2013/11/12 职场文书
校庆接待方案
2014/03/18 职场文书
品酒会策划方案
2014/05/26 职场文书
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python
mysql中数据库覆盖导入的几种方式总结
2022/03/25 MySQL
Spring Data JPA框架自定义Repository接口
2022/04/28 Java/Android