1. == 与 === 的区别,1 === 1 === 1的返回结果是?
答:== 是判断值是否相等,===判断值及类型是否相等。返回的结果是 false
2.this对象的理解
this是js的一个关键字,随着函数使用场合不同,this的值会发生变化。
但是有一个总原则,那就是this指的是调用函数的那个对象。
this一般情况下:是全局对象Global。 作为方法调用,那么this就是指这个对象
3.cookie,sessionStorage和loccalStorage 的区别
cookie 持久化的本地保存,不会根据浏览器关闭而删除,有大小限制(约4kb),每次请求会在请求头传递这个值,可以设置有效期
sessionStorage 是会话级的本地保存,可以在本源页面读写,会随着浏览器关闭而删除
loccalStorage 是持久化的本地保存,除非主动删除,不然会一直存在,可以在同源页面读写
4.js闭包是什么,你怎么理解的,有什么用途
闭包就是能够读取其他函数内部变量的函数
在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成“定义在一个函数内部的函数”
所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁
闭包可以用在许多地方。它的最大用处有两个,一个是前面提到的可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中
5.什么叫优雅降级和渐进增强?
渐进增强 progressive enhancement:
针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。
优雅降级 graceful degradation:
一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。