摘要:
JavaScript 引用指向的是值,如果一个值有 10 个引用,这些引用指向的都是同一个值,它们相互之间没有引用/指向关系。JavaScrtip 对值和引用对赋值/传递在语法上没有区别,完全根据值的类型决定。 var a = 2; var b = a; // b 是 a 的一个副本 b++; a; 阅读全文
摘要:
NaN 和 -0 在相等比较时的表现有些特别。ES6 中新加入了一个工具方法 Object.is(..) 来判断两个值是否绝对相等,可以用来处理特殊情况 var a = 2/'foo'; var b = -3/0; Object.is(a, NaN); // true Object.is(b, -0 阅读全文
摘要:
熟悉传统语言(C)的开发人员可能都遇到过编译错误(compiler error)或者运行时错误(runtime exception),例如 “除以0”。然后在 JavaScript 中上例的结果为 Infinity var a = 1/0; // Infinity var a = -1/0; // 阅读全文
摘要:
如果数学运算的操作数不是数字类型或者无法解析为常规的十进制或十六进制数字,就无法返回一个有效的数字,这种情况下返回值为 NaN。NaN 意指 “不是一个数字”,这个名字容易引起误会,“无效数值” “失败数值” 或者 “坏数值” 可能更准确些。 var a = 2 / 'foo'; // NaN ty 阅读全文
摘要:
JS 中的数字常量一般用十进制表示 var a = 42; var b = 42.3 数字前面的 0 可以省略 var a = 0.42 var b = .42 小数点后小数部分最后面的 0 也可以省略 var a = 42.0; var b = 42.; 特别大和特别小的数字默认用指数格式显示,与 阅读全文