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 相关文章推荐
Js之软键盘实现(js源码)
Jan 30 Javascript
EXTJS FORM HIDDEN TEXTFIELD 赋值 使用value不好用的问题
Apr 16 Javascript
js显示时间 js显示最后修改时间
Jan 02 Javascript
jQuery插件开发基础简单介绍
Jan 07 Javascript
JQuery操作tr和td内容的方法实例
Mar 06 Javascript
JQuery 传送中文乱码问题的简单解决办法
May 24 Javascript
如何用js实现鼠标向上滚动时浮动导航
Jul 18 Javascript
jQuery仿写百度百科的目录树
Jan 03 Javascript
JavaScript ES6常用基础知识总结
Feb 09 Javascript
vue 搭建后台系统模块化开发详解
May 01 Javascript
Promise扫盲贴
Jun 24 Javascript
用Javascript实现发送短信验证码间隔功能
Feb 08 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中文乱码
2009/11/26 PHP
php防攻击代码升级版
2010/12/29 PHP
PHP缓存技术的多种方法小结
2012/08/14 PHP
php给图片添加文字水印方法汇总
2015/08/27 PHP
实例讲解PHP验证邮箱是否合格
2019/01/28 PHP
javascript radio 联动效果
2009/03/04 Javascript
JavaScript 异步调用框架 (Part 6 - 实例 &amp; 模式)
2009/08/04 Javascript
javascript DOM编程实例(智播客学习)
2009/11/23 Javascript
js loading加载效果实现代码
2009/11/24 Javascript
Jquery 获得服务器控件值的方法小结
2010/05/11 Javascript
网页打开自动最大化的js代码
2012/08/22 Javascript
js 实现日期灵活格式化的小例子
2013/07/14 Javascript
Linux下编译安装php libevent扩展实例
2015/02/14 Javascript
JS+CSS实现仿新浪微博搜索框的方法
2015/02/24 Javascript
JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式)
2015/08/04 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
2016/08/05 Javascript
微信小程序之MaterialDesign--input组件详解
2017/02/15 Javascript
vue-router单页面路由
2017/06/17 Javascript
JavaScript简介_动力节点Java学院整理
2017/06/26 Javascript
JavaScript的六种继承方式(推荐)
2017/06/26 Javascript
electron demo项目npm install安装失败的解决方法
2018/02/06 Javascript
微信小程序如何调用json数据接口并解析
2019/06/29 Javascript
vue+canvas实现拼图小游戏
2020/09/18 Javascript
Python基于scrapy采集数据时使用代理服务器的方法
2015/04/16 Python
django实现前后台交互实例
2017/08/07 Python
Python拼接字符串的7种方法总结
2018/11/01 Python
Python弹出输入框并获取输入值的实例
2019/06/18 Python
一家外企的面试题目(C/C++面试题,C语言面试题)
2014/03/24 面试题
电子商务专业个人的自我评价分享
2013/10/29 职场文书
大学生入党思想汇报
2014/01/01 职场文书
社区工作者感言
2014/03/02 职场文书
2014年政府采购工作总结
2014/12/09 职场文书
2015政治思想表现评语
2015/03/25 职场文书
Mysql中常用的join连接方式
2022/05/11 MySQL
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript
html用代码制作虚线框怎么做? dw制作虚线圆圈的技巧
2022/12/24 HTML / CSS