![[微笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_1.7d9f699.png)
记2021.03.22的一次电话面试
1. sessionStorage 和 localStorage 有什么区别:
sessionStorage:仅在当前的浏览器窗口关闭有效;
localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据
(一时口快说的是会话窗口 -> 是浏览器窗口)
2. 请介绍一下原型链
2.1 原型链是 ESMAScript 的主要继承方式
2.2 通过原型继承多个引用类型的属性和方法。
2.3 每个构造函数都有一个 prototype 指向原型对象。
2.4 原型对象有一个属性 constructor 指向构造函数。
2.5 实例有一个内部指针 __proto__ 指向原型对象。
2.6 如果顺着该原型是另一个构造函数的实例,那么该原型的 __proto__ 还会指向另一个构造函数的原型对象,而另一个原型对象也有一个 constructor 指向构造函数。
2.7 以此,这一条指针链就称之为原型链。
(总结:其实都懂,但是理不通,是自己理解还不够深入)
3. JS中如何避免浮点数的不精确
3.1 将浮点数模拟为字符串 -> 利用字符串来进行实际运算过程
3.2 将小数转为整数再进行计算(变为字符串 -> 利用 .split(.) 分割字符串 -> 找到最大指数baseNum《根据小数的个数》 -> (num1 * baseNum + num2 * baseNum) / baseNum;)
(总结:自己遇到此类问题利用了 toFix(),但不能根本性地解决,只是减少误差损失)
1. sessionStorage 和 localStorage 有什么区别:
sessionStorage:仅在当前的浏览器窗口关闭有效;
localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据
(一时口快说的是会话窗口 -> 是浏览器窗口)
2. 请介绍一下原型链
2.1 原型链是 ESMAScript 的主要继承方式
2.2 通过原型继承多个引用类型的属性和方法。
2.3 每个构造函数都有一个 prototype 指向原型对象。
2.4 原型对象有一个属性 constructor 指向构造函数。
2.5 实例有一个内部指针 __proto__ 指向原型对象。
2.6 如果顺着该原型是另一个构造函数的实例,那么该原型的 __proto__ 还会指向另一个构造函数的原型对象,而另一个原型对象也有一个 constructor 指向构造函数。
2.7 以此,这一条指针链就称之为原型链。
(总结:其实都懂,但是理不通,是自己理解还不够深入)
3. JS中如何避免浮点数的不精确
3.1 将浮点数模拟为字符串 -> 利用字符串来进行实际运算过程
3.2 将小数转为整数再进行计算(变为字符串 -> 利用 .split(.) 分割字符串 -> 找到最大指数baseNum《根据小数的个数》 -> (num1 * baseNum + num2 * baseNum) / baseNum;)
(总结:自己遇到此类问题利用了 toFix(),但不能根本性地解决,只是减少误差损失)
展开
9
20
![[嘿哈]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_67.9ceed33.png)
![[大笑]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_55.74ed629.png)
![[拳头]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_122.b3763ee.png)