一、hasOwnProperty 方法
1、作用:判断属性和方法是否对象本身自带的
2、Object.prototype.hasOwnProperty()=>属于object原型对象上的方法,所有实例对象都可以访问
3、沿原型链上查找的方法不是它自身的(包括自身的原型对象)
二、Object.defineProperty 方法(类方法)
1、作用:
(1)给对象动态添加属性
(2)将对象属性绑定到另一个对象上
(3)数据劫持--监听对象数据变化,实现数据变化自动更新界面(vue2.x实现原理应用)
2、语法
Object.defineProperty(obj,属性,{})
三、代理proxy
1、含义:不直接对对象、函数或数组进行操作,而是把它挂载到proxy(代理)上
2、语法
let obj={
name:'jack',
age;18
}
let proxyObj=new Proxy(obj,{
get(target,propery){
return target[propery]
}
set(target,propery,value){
target[propery]=value
}
})
3、应用
通过proxy代理目标对象obj,实现数据劫持,通过代理对象proxy改变目标对象属性值时,再get、set捕获器中做些处理&