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

javaScript对象转换为原始值的过程

2017-03-07 21:51 155 查看

javascript中对象到字符串的转换经历的过程如下:

如果对象具有toString()方法,javaScript会优先调用次方法。如果返回的是一个原始值(原始值包括null、undefined、布尔值、字符串、数字),javaScript会将这个原始值转换为字符串,并返回字符串作为结果。

如果对象不具有toString()方法,或者调用toString()方法返回的不是原始值,则javaScript会判断是否存在valueOf()方法,如若存在则调用此方法,如果返回的是原始值,javaScript会将原始值转换为字符串作为结果。

如果javaScript无法调用toString()和valueOf()返回原始值的时候,则会抱一个类型错误异常的警告。

javaScript中对象转换为数字的转换过程:

javaScript优先判断对象是否具有valueOf()方法,如具有则调用,若返回一直原始值,javaScript会将原始值转换为数字并作为结果。

如果对象不具有valueOf()方法,javaScript则会调用toString()的方法,若返回的是原始值,javaScript会将原始值转换为数字并作为结果。

如果javaScript无法调用toString()和valueOf()返回原始值的时候,则会抱一个类型错误异常的警告。

下面解释一个例子:

将[](空数组)转换为数字的过程:

首先javaScript会将[]使用join()方法转换为字符串”“,

得到字符串”“,javaScript会将调用Number()函数”“转换为数字0(Number(“”) => 0),

所以[]转换为数字是0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: