Javascript 的类型转换之减号
2016-03-23 23:34
344 查看
专职写JS已经有一个月了(对,没错就是一个月),从2014年11月24实习开始到今的2月份,我做的工作一直都是切图,另外跟着老板学产品,现在我一听到切图两字,我就想吐...所以我找了一份专职写JS的工作,尼玛说道JS,我想来想去JS中最让我容易搞乱的就类型转换了。所以狠下心来,这几天把类型转换给搞清楚...
今天说一下减法对于类型转换的影响(摘抄自高程三):
减法操作符(-)是一个极为常用的操作符,七用法如下所示:
与加法操作符类似,ECMAScript 中的减法操作符在处理各种数据类型转换时,同样要遵循一些特殊规则,如下所示:
1、如果两个操作符都是数值, 则执行常规的算术减法操作,并返回结果。
2、如果有一个操作数是NAN, 则结果也是NaN。
3、如果有一个操作数是字符串、布尔值、null、undefined则先在后台调用Number()方法将其转换为数值, 然后在根据根据前面的规则进行减法计算,如果转换的结果是NaN, 则减法的结果就是NaN。
4、如果有一个操作数是对象,则调用对象的 valueof() 方法以取得该方法返回后的值,如果得到的值是NaN,则减法的结果就是NaN, 如果对象没有valueOf()方法,则调用其toString()方法并将得到的字符串转为数值。
大概就这四条,其他的感觉实际开发中用处不大。
下面举个例子:
今天说一下减法对于类型转换的影响(摘抄自高程三):
减法操作符(-)是一个极为常用的操作符,七用法如下所示:
var result = 2 -1;
与加法操作符类似,ECMAScript 中的减法操作符在处理各种数据类型转换时,同样要遵循一些特殊规则,如下所示:
1、如果两个操作符都是数值, 则执行常规的算术减法操作,并返回结果。
2、如果有一个操作数是NAN, 则结果也是NaN。
3、如果有一个操作数是字符串、布尔值、null、undefined则先在后台调用Number()方法将其转换为数值, 然后在根据根据前面的规则进行减法计算,如果转换的结果是NaN, 则减法的结果就是NaN。
4、如果有一个操作数是对象,则调用对象的 valueof() 方法以取得该方法返回后的值,如果得到的值是NaN,则减法的结果就是NaN, 如果对象没有valueOf()方法,则调用其toString()方法并将得到的字符串转为数值。
大概就这四条,其他的感觉实际开发中用处不大。
下面举个例子:
//var res = 5 - true; // 4 因为true被转换成1了 //var res = NaN - 1; // NaN //var res = 5 - 2; // 3 //var res = 5 -""; // 5 因为空字串被转换成0了 //var res = 5 - "2"; // 3 因为字符串2被转成数字2了 var res = 5 - null; // 5 因为null 被转换成数值0了 // 在js中null、""、false 都可以被转化成数字0 // undefined 转成数值是 NaN // 非空字符串 转为数值是: 字符串对应的数字值 或 NaN
相关文章推荐
- 再看《JavaScript高级程序设计》第10-12章
- 再看《JavaScript高级程序设计》第8-9章
- 用js改变embed标签的src值
- js实现匀速运动及透明度动画
- 欢迎使用CSDN-markdown编辑器
- JS操作SVG模拟水滴分离、融合效果
- javascript:void(0)的问题
- jsp中的内置对象
- 深入了解java和javascript-杂谈章
- jsp页面的组成
- 运用APICloud学习中的bug笔记
- A标签使用javascript:伪协议
- heatmap.js 一个用canvas画热力图的利器
- ExtJs之Ext.util.ClickRepeater
- js函数1-函数定义
- js 网页烟花效果
- 400错误
- <香港科技大学html+css+js课堂笔记>week3--DOM模型基础第二部分
- JavaScript数据类型
- JavaScript修改商品数量题目案列