前置阅读:什么是Reflect对象
const info = {
name:"why",
age:18,
// 规范:以_开头认为它是私有属性
_height:1.88,
set height(newValue){
this._height = newValue * 100
},
get height(){
return this._height + "cm"
}
}
// 在使用Proxy监听对象的改变时,直接操作原对象和使用Reflect有什么区别?
const infoProxy = new Proxy(info,{
set(target,key,value,receiver){
console.log('info被捕捉了它的set操作:',key)
//target[key] = value
return Reflect.set(target,key,value,receiver)
},
get(target,key,value,receiver){
console.log('info被捕捉了它的get操作:',key)
//return target[key]
return Reflect.get(target,key,receiver)
},
has(target,key){
console.log("判断是否有",key)
return Reflect.has(target,key)
}
})
// infoProxy.name = "kobe"
// console.log(infoProxy.name)
// console.log("name" in infoProxy)
infoProxy.height = 2.01
// console.log(infoProxy.height)运行结果为下面图所示:
文章不错支持一下,非常喜欢
文章不错非常喜欢,支持一下
马克吐温的作品就很经典,小时候很爱看
文章不错支持一下,非常喜欢
文章不错非常喜欢,支持
文章不错非常喜欢,支持
[...]回顾如何定义作用域链如何定义'作用域'?说明不同类型的作用域作用域链Scope Chain是JavaScript中的一个基本概念,它属于确定当前执行代码的上下文变量的查找和访问机制。在作用域的构建基于词法作用域的解构,即变量和函数的可见性由它们在源代码中的位置决定。在JavaScript中,每个执行上下文如函数执行上下文都绑有一个与之关联的作用域链。这个作用域就是一个包含多个环境记录Environ[...]
哈喽,你的SSL好像过期喽
@秋风于渭水 确实
[...]不同的浏览器存在兼容性问题的核心原因是不同的浏览器可能使用的是不同的浏览器内核。在现代化开发中,大多数的浏览器兼容性问题是可以通过工程化中的配置选项来解决的。1.比如browserslist可以配置目标的浏览器或者Node环境,然后在不同的工具中起作用,比如autoprefixer/babel/postess preset env等,在进行了正确的配置后,开发的Vue或者React项目在进行打包时[...]