前端高频面试题:

150 阅读2分钟

「这是我参与2022首次更文挑战的第24天,活动详情查看:[2022首次更文挑战]

1. cookie 、localstorage 、 sessionstrorage 之间有什么区别?

  • 与服务器交互:

    • cookie 是网站为了标示用户身份而储存在用户本地终端上的数据(通常经过加密)
    • cookie 始终会在同源 http 请求头中携带(即使不需要),在浏览器和服务器间来回传递
    • sessionStorage 和 localStorage 不会自动把数据发给服务器,仅在本地保存
  • 存储大小:

  • cookie 数据根据不同浏览器限制,大小一般不能超过 4k

  • sessionStorage 和 localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大

  • 有期时间:

    • localStorage 存储持久数据,浏览器关闭后数据不丢失除非主动删除数据
    • sessionStorage 数据在当前浏览器窗口关闭后自动删除
    • cookie 设置的cookie过期时间之前一直有效,与浏览器是否关闭无关

2.this 的指向有哪些?

blog.csdn.net/xuehangongz…

1、普通函数中的this指向window

2、定时器中的this指向window

3、箭头函数没有this,它的this指向取决于外部环境、

4、事件中的this指向事件的调用者

5、 构造函数中this和原型对象中的this,都是指向构造函数new 出来实例对象

6、类 class中的this 指向由constructor构造器new出来的实例对象 ***

7、自调用函数中的this 指向window

8.对象中的this指向是调用者。

3. 阻止默认跳转的方法

(1)js原生阻止方法:事件处理函数里写return false (2)event.stopPropation() (3)event.cancelBubble=true

4.vue实例是挂载到那个标签上的?

vue实例最后会挂载在body标签里面,所以我们在vue中是获取不了body 标签的,如果要使用body标签的话需要用原生的方式来获取