已知:
Array、Boolean、Date、Number等对象都具有 toString()、toLocaleString()、valueOf()三个方法,那这三个方法有什么区别?
一、JS Array
var array = new Array("niu","li","na");
console.log(array.valueOf());
console.log(array.toString());
console.log(array.toLocaleString());
// Array(3)
0: "niu"
1: "li"
2: "na"
// niu, li, na
// niu, li, na
总结 :
valueOf:返回数组本身
toString():把数组转换为字符串,并返回结果,每一项以逗号分割。
toLocalString():把数组转换为本地数组,并返回结果。
二、JS Boolean
var boolean = new Boolean();
console.log(boolean.valueOf()); // fasle
console.log(boolean.toString()); // fasle
总结:
valueOf:返回 Boolean 对象的原始值。
toString():根据原始布尔值或者 booleanObject 对象的值返回字符串 "true" 或 "false"。
默认为"false"。
toLocalString():Boolean对象没有toLocalString()方法。但是在Boolean对象上使用这个
方法也不会报错。
三、JS String
var string = new String("abc");
console.log(string.valueOf());
console.log(string.toString());
// abc
// abc
总结:
valueOf:返回某个字符串对象的原始值。
toString():返回字符串。
四、JS Number
var num = new Number(1337);
console.log(num.valueOf());
console.log(num.toString());
console.log(num.toLocaleString());
// 1337
// 1337
// 1,337
总结 :
valueOf:返回一个 Number 对象的基本数字值。
toString():把数字转换为字符串,使用指定的基数。
toLocalString():把数字转换为字符串,使用本地数字格式顺序。