JavaScript语言核心—The Next Day

JavaScript中的valueOf()与toString()

[1] toString() 方法把一个逻辑值转换为字符串,并返回结果。

[2] valueOf() 返回指定对象的原始值。

var m = ['1','2','3'];

m.valueOf();              //返回 ['1','2','3']

m.toString();             //返回 1,2,3

 

toString()与valueOf()方法属于Object对象,由于所有的对象都继承了Object对象实例,因此几乎所有的实例对象都可以使用;null除外。

 

两者的共同和不同点

toString()方法和valueOf()方法,在输出对象时会自动调用。

在进行字符串类型转换时优先调用toString方法;在进行数值转换时优先调用valueOf方法。

var s = { 
 i: 10, 
 valueOf: function() { return this.i+30; }, 
 toString: function() { return this.valueOf()+10; } 
} 

alert(s > 20);      //返回 true 
alert(+s);          //返回 40 
alert(s);           //返回 50 

 

总结:valueOf偏向于运算,toString偏向于显示。

 

 

 

posted @ 2017-05-01 14:13  0_0墨眉  阅读(257)  评论(0编辑  收藏  举报