Eff-JS
文章平均质量分 60
羽灵光Fealight
这个作者很懒,什么都没留下…
展开
-
《Effective JavaScript》- 1.5 避免对混合类型使用 == 运算符
我们看看下面的表达式是什么?"1.0e0" == { valueOf: function () { return true;}}这两个看似无关的值使用==运算符实际上是相等的。就像1.3描述的隐式强制转换一样,在比较之前,他们都被解析为数字1,而匿名对象也通过valueOf方法得到的结果为true,然后再转换为数字,得到1。 很容易使用这些强制转换完成一些工作。例如,从一个Web表单读取一个字段并原创 2015-12-17 10:05:08 · 356 阅读 · 1 评论 -
《Effective JavaScript》- 1.4 原始类型优于封装对象
除了对象之外,JavaScript有5个原始值类型:布尔值、数字、字符串、null和undefined。 (令人困惑的是, 对null类型进行typeof操作得到的结果为”object”)我们创建一个String对象,封装一个字符串。var s = new String("hello");我们可以进行字符串连接或者提取其索引的子字符串s + " world"; // "hello world" s原创 2015-11-23 10:04:17 · 370 阅读 · 0 评论 -
《Effective JavaScript》- 1.3 当心隐式的强制转换
1. JavaScript的重载运算符“+” 这个运算符既重载的数字的相加,又重载了字符串连接操作,具体是数字相加还是字符串连接,这取决于其参数的类型。1 + 2 + "3"; // "33" (1 + 2) + "3"; // "33" 1 + "2" + 3; // "123" (1 + "2") + 3; // "123"2. 结果为NaN的错误 强制转换也会有隐藏的错误,结果为n原创 2015-09-25 10:10:41 · 388 阅读 · 0 评论 -
《Effective JavaScript》- 1.2 理解JavaScript的浮点数
JavaScript中的所有数字都是双精度浮点数,精度为53位整数。 这意味着即使是双精度,也只能表示一组有限的数字,而不能表示所有的实数集合,它只能够产生近似的结果,四舍五入到最接近的可表示的实数。随着舍入误差的积累,运算结果会越来越不精确。 对于任意实数x, y, z,总满足(x + y) + z = x + (y + z)。 然而对于浮点数来说,却不原创 2015-09-23 13:28:23 · 273 阅读 · 1 评论 -
《Effective JavaScript》- 1.1 了解你使用的JavaScript版本
《Effective JavaScript》的读书笔记&&测试记录 1.1 了解你使用的JavaScript版本原创 2015-09-22 11:48:30 · 631 阅读 · 5 评论