您的位置:首页 > 其它

浅析toString()和toLocaleString()的区别

2015-05-30 22:12 260 查看
翻看《javascript高级程序设计》,对toString()和toLocaleString()两者的区别并没有直白的说明,简单查阅了一下 ecmascript官方文档MDN

二者区别主要存在与Date类型中,举个例子来说:

var number = 1337;
var date = new Date();
var myArr = [number, date, "foo"];

var str = myArr.toLocaleString();

console.log(str);
// 输出 "1337,2015/2/27 下午8:29:04,foo"
// 假定运行在中文(zh-CN)环境,北京时区


解释(详见 MDN的Date.prototype.toLocaleString的解释):

如果是toString(),会直接返回标准的格式;

如果是toLocaleString(),先判断是否指定语言环境(locale),指定的话则返回当前语言环境下的格式设置(options)的格式化字符串;没有指定语言环境(locale),则返回一个使用默认语言环境和格式设置(options)的格式化字符串。

接下来是吐槽时间,不得不吐的是 ecmascript官方文档的解释真是看的费劲,看了官方文档的toLocaleString()心中一千零一只羊驼狂奔而过,并感叹说:然而这并没有什么卵用。但是不得不对MDN继续无法自拔,也许这就是活跃社区的好处。

也许是功力不够,继续修炼再看看。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: