JS中toString()、toLocaleString()和valueOf()方法的区别(摘录) 墨蓝 2022-05-03 14:00 170阅读 0赞 JavaScript中的toString()、toLocaleString()和valueOf()方法,主要用于Array、Boolean、Date、Number、String、Math、Error、Functionr等对象。 * **Array** var array = new Array("123","123","123"); console.log(array.valueOf());//Array[3] console.log(array.toString());//123,123,123 console.log(array.toLocaleString());//123,123,123 valueOf:返回数组本身 toString():把数组转换为字符串,并返回结果,每一项以逗号分割。 toLocalString():把数组转换为本地数组,并返回结果。 * **Boolean** var boolean = new Boolean(); console.log(boolean.valueOf());//false console.log(boolean.toString());//false valueOf:返回 Boolean 对象的原始值。 toString():根据原始布尔值或者 booleanObject 对象的值返回字符串 “true” 或 “false”。默认为"false"。 toLocalString():Boolean对象没有toLocalString()方法。但是在Boolean对象上使用这个方法也不会报错。 * **Date** var date = new Date(); console.log(date.valueOf());//1540642478175 console.log(date.toString());//"Sat Oct 27 2018 20:14:38 GMT+0800 (中国标准时间)" console.log(date.toLocaleString());//"2018/10/27 下午8:14:38" valueOf:返回 Date 对象的原始值,以毫秒表示。 toString():把 Date 对象转换为字符串,并返回结果。使用本地时间表示。 toLocalString():可根据本地时间把 Date 对象转换为字符串,并返回结果,返回的字符串根据本地规则格式化。 * **Number** var num = new Number(2018); console.log(num.valueOf());//2018 console.log(num.toString());//"2018" console.log(num.toLocaleString());//"2,018" valueOf:返回一个 Number 对象的基本数字值。 toString():把数字转换为字符串,使用指定的基数。 toLocalString():把数字转换为字符串,使用本地数字格式顺序。 * **Math** console.log(Math.PI.valueOf());//3.141592653589793 valueOf:返回 Math 对象的原始值。 * **String** var string = new String("abc"); console.log(string.valueOf());//"abc" console.log(string.toString());//"abc" valueOf:返回某个字符串对象的原始值。 toString():返回字符串。 * **Error** var e = new Error(); alert(e); //error alert(typeof e.toString()); //string toString():将Error对象转换成字符串。 * **Function** function add(a,b){ var a,b,c; c = a + b; return c; } alert(add.toString()); alert(typeof add.toString()); //string toString()、toLocaleString()和ValueOf()方法始终都返回函数的代码,返回代码的格式因浏览器而异。 **toString()方法与toLocalString()方法区别:** 1. toLocalString()是调用每个数组元素的 toLocaleString() 方法,然后使用地区特定的分隔符把生成的字符串连接起来,形成一个字符串。 2. toString()方法获取的是String(传统字符串);而toLocaleString()方法获取的是LocaleString(本地环境字符串),主要用于将数组 Number对象或Date对象转换为本地格式的字符串。 3. 如果你开发的脚本在世界范围都有人使用,那么将对象转换成字符串时请使用toString()方法来完成。 4. LocaleString()会根据你机器的本地环境来返回字符串,它和toString()返回的值在不同的本地环境下使用的符号会有微妙的变化。 5. 所以使用toString()是保险的,返回唯一值的方法,它不会因为本地环境的改变而发生变化。如果是为了返回时间类型的数据,推荐使用LocaleString()。若是在后台处理字符串,请务必使用toString()。
还没有评论,来说两句吧...