JavaScript 加号操作符细节
2016-05-23 15:05
471 查看
JavaScript 加号操作符细节
加号操作符规则
如果运算数是对象(object),它将会转化成基本类型(string,boolean,number,null,undefined);如果运算数中有一个string,第二个运算数也会转化成string,并且连接起来成为一个新的string。
其他情况下,两个运算数转化为数字进行加法运算。
对象转化的规制:
如果一个对象类型是Date,可以使用toString()方法在其他情况下使用valueOf()方法,它将返回一个原始值
如果valueOf()方法不能返回它的原始值,使用toString()
例子
示例1:数字和对象
var result = 1 + {};//"1[object Object]"
示例2:数字和null
var result = 1+null;//1
1 + null: 因为操作数没有字符串,根据规则三,null将转换为数字0
1 + 0: 两个数字做加法运算
示例3:字符串和null
var result = "dendi"+null;//dendinull
"dendi" + null: 因为第一个操作数是一个字符串,根据规则二,null将转换为一个字符串”null”
“dendi”+”null”:字符串连接
示例4:数字和undefined
var result = 1+undefined;//NaN
1 + undefined:因为没有任何一个操作数是字符串,根据规则三,undefined将转换为一个数字NaN
示例5:
var result = + "12";//12(number);
这个比较特殊,是我从JavaScript技巧上面看来的。
一元加操作符(+)放在数值面前,不会对数值产生任何影响。但是在对非数值应用一元加操作符时,会把值转化成Number()类型的值。
false -> 0;
true -> 1;
字符串会被解析;
对象会调用他们的valueOf()和toString()方法
相关文章推荐
- js if null undifined
- 使用Gson解析复杂的json数据
- js事件监听器用法实例详解
- js刷新页面方法大全
- Javascript中的Callback方法浅析
- javascript this关键字指向详解
- javascript 闭包详解+示例(一)
- javascript 闭包最简单理解
- jsonp的工作原理 跨域
- a href="javascript:void(0)"
- JS新API标准 地理定位(navigator.geolocation)
- javascript中获取参数的方法
- 前端交互封装的一些javaScript方法
- 解析JSON最外层是集合------->[]
- JSON解析器
- JS内存泄漏排查方法(Chrome Profiles)
- 安装 caseprjs 和 phantomjs
- JSP中声明、表达式和脚本的区别--JSP学习系列(二)
- bug吐槽JSON格式不兼容
- js中使用el表达式,表达式值中带有换行解决方法