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

夏天,他把手中的魔法棒轻轻一挥,带给咱们一片充满活力的蓝色。你瞧,蓝蓝的天空飘着朵朵白云,远处,蔚蓝的大海在夏风的吹拂下,卷起层层浪花。

本文实例讲述了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>

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

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

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

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

到此这篇关于JS使用对象的defineProperty进行变量监控操作示例就介绍到这了。在我的生命中,从未遭受过失败,我所遇到的,都是暂时的挫折罢了。更多相关JS使用对象的defineProperty进行变量监控操作示例内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
JS获取鼠标点击时的位置

JS获取URL参数

Ajax跨域问题及解决方案(jsonp,cors)

ajax动态加载json数据并详细解析

ajax从JSP传递对象数组到后台的方法