JavaScript 减法运算
■实例设计
特殊操作数的减法运算。
var n = 5; //定义并初始化任意一个数'值:V
console.log (NaN- n); //NaN与任意操作数相减,:.结果都是^al?:
console.log (Infinity - n); //Infinity 与任意操作数相减,结果都是 Infinity
console.log {Infinity - Infinity); //Infinity 与/Infinity.相减,.结果是NaN
console.log (( - Infinity) - ( - Infinity)); //负 Infinity 相减,结果是.NaN
console, log ( ( - Infinity) - Infinity); //正负 Infinity 相减,结果是-Iirfinity
在减法运算中,如果数字为字符串,先尝试把它转换为数值之后,再进行运算。如果有一个操作数不是数字,则返回NaN。
console.log(2 - "1"); //返回100
cbnsoie.log(2 - "a"); //返回NaN
■小结
使用值减去0,可以快速把值转换为数字。例如,HTTP请求中查询字符串的一般都是字符串型数字,可以先让这些参数值减去0后转换为数值。该方法与调用parseFloat()方法的结果相同,但减法运算更高效、更快捷。减法运算符的隐性转换如果失败,则返回NaN,这与使用parseFloat()方法执行转换时
的返回值是不同的。
例如,对于宇符串"lOOaaa"而言,parseFloatO方法能够解析出前面几个数字,而对于减法运算符来说,则必须是完整的数字才可以进行转换。
console. log (parseFloat ("lOOaaa")); //返回 100
console. log ("lOOaaa" - 0); //返回 NaN
对于布尔值来说,parseFloatO方法能够把true转换为1,把false转换为0,而减法运算符视其为NaN。
对于对象来说,parseFloatO方法会尝试调用对象的toStringG方法进行转换,而减法运算符则先尝试调用对象的valueOfO方法进行转换,失败之后再调用toStringO方法进行转换。
点击加载更多评论>>