常见前端面试题05
object.definePropoty 与 proxy对比
object.definePropoty方式自己手动的来监听对象中的每一个属性,并且为了防止死循环,哦我们需要把目标对象进行深拷贝进而来操作这个对象,很麻烦,所以es6给咱们提供了一种数据proxy代理的方式。
let obj = {
value: '123'
}
let newObj = JSON.parse(JSON.stringify(obj))
Object.defineProperty(obj, 'value', {
set(val) {
if (val === newObj.value) return
newObj.value = val
observer()
},
get() {
return newObj.value
}
})
proxy实现的方式:,可以直接监听目标对象的整体,并且通过函数参数的形式进行对象数据的更新,并且获取需要需要更新的目标属性,实现方式如下:
let obj = {
value: '123'
}
obj = new Proxy(obj, {
get(target, prop) {
return target.prop
},
set(target, prop, value) {
target.prop = value
}
})
React常见
1.react双向绑定
2.跨域问题
因为同源策略,采用前后端分离
Jsonp
只能get,不安全、有缓存、大小限制
iframe
window.name
document.domin
location.hash
post message
CORS-服务端配置
http Proxy
webpack添加proxy
nginx反向代理
在build之后proxy不可以用,要服务器端nginx反向代理
3.组件中通信
感谢您花时间阅读此篇文章,如果您觉得看了这篇文章之后心情还比较高兴,可以打赏一下,请博主喝上一杯咖啡,让博主继续码字……
本文版权归作者和博客园共有,来源网址:https://blog.csdn.net/weixin_46498102 欢迎各位转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接