//创建一个Object对象 这里的Object相当于祖宗一样
var obj = new Object();
每个Object类型的实例共有的属性和方法:
constructor: 保存着用于创建当前对象的函数。
hasOwnProperty:用于检测给定的属性在当前对象的实例中是否存在。
isPrototypeOf : 用于检查传入的对象是否是当前对象的原型
propertyIsEnumerble : 用于检查给定属性能否使用for-in来枚举
toLocaleString() : 返回对象的字符串表示。
toString() : 返回对象的字符串表示。
valueOf() : 返回对象的字符串,数值,或布尔表示。通常和toString() 返回的值相同。
方法一 :
defineProperty() 定义对象属性
在一个对象上定义一个新的属性,或者修改一个对象的现有属性 并返回这个对象
Object.defineProperty(obj, prop , descriptor)
obj: 对象
prop: 要定义 或 修改的属性名称
descriptor:将被定义 或修改的属性描述符 (属性或方法:可以是对象
关于数据双向绑定:
1、普通的都是单向流数据:
/*数据双向绑定 使用 : 数据劫持 和 发布订阅*/
var obj = {}
Object.defineProperty(obj,'prpertyname',{
get:function() {
console.log(obj,'订阅')
return obj ;
},
set:function(newNum) {
console.log(newNum,'发布')
$('#inputs').val(newNum)
$('#zzdemo').html(newNum)
}
})
$('#inputs')[0].onkeyup = function(e) {
console.log(e.target.value,'输入')
obj.prpertyname = e.target.value
}
setTimeout(()=>{
obj.prpertyname = '我是model--- view'
// $('#zzdemo').html('我是model--- view')
},3000)
参考:
https://zhuanlan.zhihu.com/p/61306556?utm_source=wechat_session&utm_medium=social&utm_oi=1080885602706259968
关于 Object ,defineProperty 方法和数据 双向绑定 :
最新推荐文章于 2024-07-11 19:31:59 发布