搜索
Javascript是一门弱类型语言,很灵活,学习门槛低,容易上手。但同时也容易出现误区,遇到很多坑。本篇就专门用来记录日常开发中的易错点。
Javascript
弱类型
引用类型
let object = { a: 0 }; function fun(obj) { obj.a = 1; obj = { a: 2 }; obj.b = 2; } fun(object); console.log(object); // 对于这个输出结果估计很多人都容易出错 // 你想的结果: { a: 2, b: 2 } // 实际的结果: { a: 1 }
obj.a = 1
obj = { a: 2 }
obj.b = 2
原object
NaN == NaN // false null == null // true null == undefined // true null == 0 // false null == false // false undefined == 0 // false undefined == false // false 0 == '0' // true NaN === NaN // false null === undefined // false 0 === '0' // false
valueOf
toString
var o = {} var a = o var b = o a == b // true var c = {} var d = {} c == d // false c.valueOf() == d.valueOf() // false c.toString() == d.toString() // true var d1 = new Date('2022-01-01') var d2 = new Date('2022-01-01') d1 == d2 // false
欢迎访问:个人博客地址