博客
关于我
数据劫持
阅读量:324 次
发布时间:2019-03-04

本文共 601 字,大约阅读时间需要 2 分钟。

数据劫持

  • 代码分析:
	

1. 实现文本框中的内容发生了变化,对象中的data也要跟着发生变化,保持一致

  • 如何监听到文本框中的值发生变化呢?
  • 使用oninput事件:在用户输入时触发
var text = document.getElementById('data');text.oninput = function(){   	obj.data = this.value;	console.log(obj.data);}

在这里插入图片描述

2. 实现对象中的data值发生了变化,文本框的值也要跟着变化

  • 如何监听到对象的值正在发生变化?
    • 监听数据变化 - 脏数据查询 - 死循环:轮询
    • 但是死循环性能受影响
  • Object构造函数有一个方法叫defineProperty()
  • 可以劫持到数据发生变化的时机
Object.defineProperty(obj,'data',{   	get(){   		// 当获取obj对象的data的值的时候,就会先经过get方法		// get方法返回的值,就是最终访问到的值		return text.value;	},	set(val){   		// set方法,是当给obj的data赋值的时候,会先经过set方法,并将要设置的值获取到		text.value = val;		console.log("正在给obj的data改值,值是:" + val);	}})

在这里插入图片描述

总代码

转载地址:http://pfxh.baihongyu.com/

你可能感兴趣的文章
Vuex和普通全局对象
查看>>
上升下降字符串
查看>>
JavaScript中的链式调用
查看>>
day-04-列表
查看>>
day-13-匿名函数-内置函数2-闭包
查看>>
Linux 磁盘管理(df fu fdisk mkfs mount)
查看>>
力扣125. 验证回文串-C语言实现-简单题
查看>>
空间向量
查看>>
第一类曲面积分
查看>>
常数项级数
查看>>
Mybatis的介绍和基本使用
查看>>
Idea使用tool window中的persistence功能一键生成数据库实体
查看>>
Redis简介(数据结构,哨兵、集群和SpringDataRedis)
查看>>
jar包破解Idea
查看>>
MySQL锁机制
查看>>
软件设计模式修炼 -- 模板方法模式
查看>>
从上往下打印二叉树
查看>>
Java设置PPT幻灯片背景——纯色、渐变、图片背景
查看>>
Java 设置PDF文档浏览偏好
查看>>
Java 添加、替换、删除PDF中的图片
查看>>