前言
- 最近公司招聘,我发现了一个很严重的问题,越来越多的所谓前端,一上手就是三大框架,但是对于原生的 js 都非常的陌生
- 那么我想到一个问题,我自己的 js 是否也有很多漏洞呢?答案是肯定的
- 红宝书是非常多大神推荐过的书,那么我也重头看起,重新学习 JavaScript 这个熟悉或也会由陌生的吃饭家伙,查缺补漏吧~
- 以下将会是我的一些笔记,不定期更新
自我代码规范定义
- 变量声明时尽可能赋值初始化,这样在后续 typeof 时如果出现 'undefined' 可明确变量未声明
- 在声明对象时,如无具体的对象,赋值 null
- 因为 typeof null === 'object'
- 我们后续也可以通过 === null 判断对象是否真正引用
- 为了避免
parseInt() 解析并非我们预期,建议始终给第二参数
- 浮点值得精确度最高可达 17 位小数,但在算数计算中远不如整数精确。因此永远不要测试某个特定的浮点值
Number() 作用于对象,会先调用 valueOf 方法,如返回引用类型或者没有 valueOf 方法,则调用 toString()
class Obj {
constructor(val) {
this.val = val;
}
valueOf() {
return this.val
}
toString() {
return 123
}
}
const obj1 = new Obj(1);
const obj2 = new Obj({});
console.log(Number(obj1));
console.log(Number(obj2));
目录
- 语言基础
- 变量、作用域与内存