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 相关文章推荐
window.addeventjs事件驱动函数集合addEvent等
Feb 19 Javascript
查看源码的工具 学习jQuery源码不错的工具
Dec 26 Javascript
javascript中动态加载js文件多种解决办法总结
Nov 15 Javascript
Javascript优化技巧之短路表达式详细介绍
Mar 27 Javascript
详解JavaScript中的every()方法
Jun 08 Javascript
jQuery实现浮动层随浏览器滚动条滚动的方法
Sep 22 Javascript
angularJS与bootstrap结合实现动态加载弹出提示内容
Oct 16 Javascript
jQuery Easyui 验证两次密码输入是否相等
May 13 Javascript
JS/jQuery判断DOM节点是否存在的简单方法
Nov 24 Javascript
CSS+jQuery实现简单的折叠菜单
Dec 20 Javascript
BootStrap组件之进度条的基本用法
Jan 19 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
Oct 21 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
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
深入解析php中的foreach函数
2013/08/31 PHP
PHP jQuery表单,带验证具体实现方法
2014/02/15 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
2015/10/27 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
PHP面向对象程序设计(OOP)之方法重写(override)操作示例
2018/12/21 PHP
jquery监控数据是否变化(修正版)
2011/04/12 Javascript
Jquery实现三层遍历删除功能代码
2013/04/23 Javascript
js数组操作常用方法
2014/05/08 Javascript
JavaScript字符串常用类使用方法汇总
2015/04/14 Javascript
AngularJS基础学习笔记之指令
2015/05/10 Javascript
体验jQuery和AngularJS的不同点及AngularJS的迷人之处
2016/02/02 Javascript
Ionic如何创建APP项目
2016/06/03 Javascript
ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
2016/09/06 Javascript
jQuery判断是否存在滚动条的简单方法
2016/09/17 Javascript
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
[05:06]TI4西雅图DOTA2前线报道 海涛密探LGD训练
2014/07/09 DOTA
Python中的time模块与datetime模块用法总结
2016/06/30 Python
TensorFlow如何实现反向传播
2018/02/06 Python
python批量修改文件夹及其子文件夹下的文件内容
2019/03/15 Python
利用python实现逐步回归
2020/02/24 Python
基于Python爬取51cto博客页面信息过程解析
2020/08/25 Python
如何将anaconda安装配置的mmdetection环境离线拷贝到另一台电脑
2020/10/15 Python
html5 外链式实现加减乘除的代码
2019/09/04 HTML / CSS
Boda Skins皮衣官网:奢侈皮夹克,全球配送
2016/12/15 全球购物
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
铭万公司.net面试题笔试题
2014/07/20 面试题
毕业生自荐书
2014/02/02 职场文书
大家访活动实施方案
2014/03/10 职场文书
副董事长岗位职责
2014/04/02 职场文书
教师党员个人整改措施材料
2014/09/16 职场文书
教师自我剖析材料
2014/09/29 职场文书
新员工考核评语
2014/12/31 职场文书
英语教师个人工作总结
2015/02/09 职场文书
商场收银员岗位职责
2015/04/07 职场文书
Java界面编程实现界面跳转
2022/06/16 Java/Android