19.谈谈cookie,sessionStorage和localStorage
cookie用来保存登录信息,大小限制为4KB左右
localStorage是Html5新增的,用于本地数据存储,保存的数据没有过期时间,一般浏览器大小限制在5MB
sessionStorage接口方法和localStorage类似,但保存的数据的只会在当前会话中保存下来,页面关闭后会被清空。
| **名称** | **生命期** | **大小** | **与服务器通信**
| cookie | 一般由服务器生成,可设置失效时间。 如果在浏览器端生成Cookie, 默认是关闭浏览器后失效 | 4KB | 每次都会携带在HTTP头中, 如果使用cookie保存过多数据会带来性能问题 |
| localStorage | 除非被清除, 否则永久保存 | 5MB | 仅在浏览器中保存,不与服务器通信 |
| sessionStorage | 仅在当前会话下有效, 关闭页面或浏览器后被清除 | 5MB | 仅在浏览器中保存,不与服务器通信 |
20.0.1+0.2!=0.3怎么处理
在计算机中数字无论是定点数还是浮点数都是以多位二进制的方式进行存储的,计算机天生只能存储整数,它只能用某种方法来表示小数
解决方法:
1.把计算数字 提升 10 的N次方 倍 再 除以 10的N次方。N>1.
(0.1*10+ 0.2*10)/10== 0.3//true
2.四舍五入 Match.
21.数组的常用方法(至少说出8个)
1.shift 删除数组中的第一个元素
2.pop 删除数组中的最后一个元素
3.unshift 增加元素在数组的前面
4.push 增加元素在数组的后面
5.map 循环,并且返回新的数组
6.forEach 循环,遍历
7.filter 过滤,筛选出数组中的满足条件的,并且返回新的数组
8.concnt 合并数组
9.find 查找出第一个符合条件中的数组元素
10.findIndex 查找出第一个符合条件中的数组元素,所在的索引位置
11.flat 将多维数组转为一维数组
12.join将数组转为字符串
13.reverse 颠倒数组中的顺序
14.every检测数组中元素是否都是符合条件 === bollean
15.some检测数组中元素是否有满足条件的元素 === bollean
16.splice(start,n,添加元素) 开始位置 删除个数,添加元素
17.sort 排序
18.slice(start,end) 选中[start.end)之间的元素
19.indexOf 查找值所在的位置
20.includes 查看数组中是否存在此元素
22.new一个对象的过程中发生了什么吗?
\1. 创建空对象;
var obj = {};
\2. 设置新对象的constructor属性为构造函数的名称,设置新对象的__proto__属性指向构造函数的prototype对象;
obj.__proto__ = ClassA.prototype;
\3. 使用新对象调用函数,函数中的this被指向新实例对象:
ClassA.call(obj);//{}.构造函数();
\4. 将初始化完毕的新对象地址,保存到等号左边的变量中
23.JS实现继承(至少会一种)
1. 原型链
2. 借用构造函数
3. 组合继承
4. 寄生式继承
6. 原型式继承