「这是我参与2022首次更文挑战的第24天,活动详情查看:[2022首次更文挑战]
1. cookie 、localstorage 、 sessionstrorage 之间有什么区别?
-
与服务器交互:
- cookie 是网站为了标示用户身份而储存在用户本地终端上的数据(通常经过加密)
- cookie 始终会在同源 http 请求头中携带(即使不需要),在浏览器和服务器间来回传递
- sessionStorage 和 localStorage 不会自动把数据发给服务器,仅在本地保存
-
存储大小:
-
cookie 数据根据不同浏览器限制,大小一般不能超过 4k
-
sessionStorage 和 localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大
-
有期时间:
- localStorage 存储持久数据,浏览器关闭后数据不丢失除非主动删除数据
- sessionStorage 数据在当前浏览器窗口关闭后自动删除
- cookie 设置的cookie过期时间之前一直有效,与浏览器是否关闭无关
2.this 的指向有哪些?
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标签的话需要用原生的方式来获取