您的位置:首页 > Web前端 > JavaScript

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()方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: