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 相关文章推荐
jquery实现每个数字上都带进度条的幻灯片
Feb 20 Javascript
浅析Node.js中使用依赖注入的相关问题及解决方法
Jun 24 Javascript
jQuery网页右侧广告跟随滚动代码分享
Apr 20 Javascript
jQuery使用animate实现ul列表项相互飘动效果示例
Sep 16 Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
Jan 12 Javascript
Vue按需加载的具体实现
Dec 02 Javascript
vue使用中的内存泄漏【推荐】
Jul 10 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
Aug 04 Javascript
vue组件 keep-alive 和 transition 使用详解
Oct 11 Javascript
vue基本使用--refs获取组件或元素的实例
Nov 07 Javascript
微信小程序实现录制、试听、上传音频功能(带波形图)
Feb 27 Javascript
JavaScript交换变量的常用方法小结【4种方法】
May 07 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
PHP编码转换函数 自动转换字符集支持数组转换
2012/12/16 PHP
PHP 之 写时复制介绍(Copy On Write)
2014/05/13 PHP
php求一个网段开始与结束IP地址的方法
2015/07/09 PHP
PHP实现的文件浏览器功能简单示例
2019/09/12 PHP
Prototype 学习 工具函数学习($w,$F方法)
2009/07/12 Javascript
js showModalDialog 弹出对话框的简单实例(子窗体)
2014/01/07 Javascript
Jquery的each里用return true或false代替break或continue
2014/05/21 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
jQuery实现获取隐藏div高度的方法示例
2017/02/09 Javascript
浅谈高大上的微信小程序中渲染html内容—技术分享
2018/10/25 Javascript
JS多个表单数据提交下的serialize()应用实例分析
2019/08/27 Javascript
jQuery实现B2B网站后台管理系统侧导航
2020/07/08 jQuery
python查找第k小元素代码分享
2013/12/18 Python
python打开文件并获取文件相关属性的方法
2015/04/23 Python
粗略分析Python中的内存泄漏
2015/04/23 Python
python itchat实现微信自动回复的示例代码
2017/08/14 Python
python之Character string(实例讲解)
2017/09/25 Python
ubuntu安装sublime3并配置python3环境的方法
2018/03/15 Python
Django学习教程之静态文件的调用详解
2018/05/08 Python
如何分离django中的媒体、静态文件和网页
2019/11/12 Python
python 利用turtle库绘制笑脸和哭脸的例子
2019/11/23 Python
解决Python列表字符不区分大小写的问题
2019/12/19 Python
python kafka 多线程消费者&amp;手动提交实例
2019/12/21 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
2020/11/22 Python
GEOX鞋美国官方网站:意大利会呼吸的鞋
2017/07/12 全球购物
Linux的文件类型
2012/03/07 面试题
专科文秘应届生求职信
2013/11/18 职场文书
教师开学感言
2014/02/14 职场文书
如何写好自荐信
2014/04/07 职场文书
教师党员承诺书2015
2015/01/21 职场文书
公证处委托书
2015/01/28 职场文书
志愿者个人总结
2015/03/03 职场文书
红高粱观后感
2015/06/10 职场文书
酒店厨房管理制度
2015/08/06 职场文书
5分钟教你docker安装启动redis全教程(全新方式)
2021/05/29 Redis