问题记录

1.判断空对象

不能用Object.keys() 来进行判断对象是否为空,因为Object.keys() 获取不到原型上的属性和 Symbol 的属性 ,可以用Reflect.ownKeys(data).length == 0来判断对象是否为空

2.Object.keys()和Reflect.ownKeys()的区别

Object.keys() 获取不到原型上的属性和 Symbol 的属性

3.TS中的void、never、any、unknow类型

void表示没有任何类型 never 表示永远不存在的值 unknow表示 未知类型的

4.如何终止promise

使用AbortSignal API去中断

5.attrs是什么

如果你遇到需要跨很大层级去调用或者传参的时候,可以考虑使用他,或者使用attrs 和$listeners

6.那简单来个闭包,沙箱吧
7.平时调用接口都用axios吧,说说怎么能停止它的调用呢 通过axios.cancelToken去终止请求
const cancelToken=axios.cancelToken 
const source=cancelToken.source() 
axios.get('[https://www.baidu.com](https://www.baidu.com)',{cancelToken:source.token})
8.浏览器接口请求中,OPTIONS这种请求有什么作用?

浏览器主动发送的OPTIONS请求,用于校验是否存在请求跨域

9.this的指向?

1.在函数体中,非显式或隐式地简单调用函数时,在严格模式下,函数内的this会被绑定到undefined上,在非严格模式下则会被绑定到全局对象window/global上。
2.一般使用new方法调用构造函数时,构造函数内的this会被绑定到新创建的对象上。
一般通过call/apply/bind方法显式调用函数时,函数体内的this会被绑定到指定参数的对象上。
3.一般通过上下文对象调用函数时,函数体内的this会被绑定到该对象上。
4.在箭头函数中,this的指向是由外层(函数或全局)作用域来决定的。

10.http与https的区别?
  1. HTTP(Hypertext Transfer Protocol)和HTTPS(Hypertext Transfer Protocol Secure)都是用于传输Web上数据的协议,它们的主要区别在于安全性和加密方式。
    2.HTTP是一种明文协议,数据传输过程中不加密,容易被攻击者窃取和篡改传输的数据。而HTTPS使用SSL/TLS协议对HTTP协议进行加密,使得传输过程中的数据加密,更加安全可靠。
    3.在使用HTTPS协议时,服务器会向客户端发送一个证书,证书包含了服务器的公钥,客户端在收到证书后会验证证书的合法性,然后使用服务器的公钥加密数据,
    4.再将加密后的数据发送给服务器。服务器使用自己的私钥对数据进行解密,并进行相应的处理
    1. 因此,HTTPS相对于HTTP来说更加安全,适用于需要进行数据加密和保护的场景,例如银行、支付、电子商务等网站。
11.vue的响应式原理?

通过订阅发布模式,observer,watcher,compile,update
1、需要observer的数据对象进行递归遍历,包括子属性对象的属性,都加上 setter和getter
这样的话,给这个对象的某个值赋值,就会触发setter,那么就能监听到了数据变化
2、compile解析模板指令,将模板中的变量替换成数据,然后初始化渲染页面视图,并将每个指令对应的节点绑定更新函数,添加监听数据的订阅者,
一旦数据有变动,收到通知,更新视图
3、Watcher订阅者是Observer和Compile之间通信的桥梁,主要做的事情是:
(1)在自身实例化时往属性订阅器(dep)里面添加自己
(2)自身必须有一个update()方法
(3)待属性变动dep.notice()通知时,能调用自身的update()方法,并触发Compile中绑定的回调,则功成身退。
4、MVVM作为数据绑定的入口,整合Observer、Compile和Watcher三者,通过Observer来监听自己的model数据变化,通过Compile来解析编译模板指令,
最终利用Watcher搭起Observer和Compile之间的通信桥梁,达到数据变化 -> 视图更新;视图交互变化(input) -> 数据model变更的双向绑定效果。

12.v-model?

v-model指令可以在表单 input、textarea以及select元素上创建双向数据绑定
v-model指令会根据控件类型自动选取正确的方法来更新元素
v-model 本质上不过是语法糖,它负责监听用户的输入事件来更新数据,并在某种极端场景下进行一些特殊 处理

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 记录五种常用的遍历对象的方法。 定义对象 for...in... for…in… 会以任意顺序遍历出对象自身以及原...
    假笑boys阅读 746评论 0 0
  • 1.概述 Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提...
    黑云阅读 418评论 0 2
  • 转码器:babel,允许用ES6的语法来写程序,而不用考虑现有环境是否支持。 EcmaScrip是规范,JavaS...
    shanshanfei阅读 979评论 0 0
  • 废话少说,本文分四个部分,css、js、知识点一、知识点二、React(部分问题没有给出答案,后续更新) css面...
    666同学阅读 1,148评论 0 0
  • 官方中文版原文链接 感谢社区中各位的大力支持,译者再次奉上一点点福利:阿里云产品券,享受所有官网优惠,并抽取幸运大...
    HetfieldJoe阅读 6,600评论 3 22