首页 > Web开发 > 详细

js数据类型转化规律

时间:2019-10-06 15:50:12      阅读:68      评论:0      收藏:0      [点我收藏+]

1.对象遇运算符

转化规律是:

1)先调用自身的valueOf()方法,是原始数据, 返回,否则2);

2)再调用自身的toString()方法,如果不是原始数据,Uncaught TypeError;

有一个特例:Date对象相反,先调用toString(),后调用valueOf()。

var obj = {
    valueOf(){ return 5; },    
    toString() { return ‘hello‘; }
}
1 + obj; //  6;
"1" + obj; //  "15"

2. 原始数据遇运算符

转化规律:

1)如果运算符要求是数值,调用valueOf();

2) 如果运算符要求是字符串,调用toString();

3) 如果既可以是字符串也可以是数值,优先调用valueOf();

// 布尔值的示例
(true).valueOf(); // 1
(true).toString(); // "true"

1+true; // 2
"1" + true; // 1true

3. String()工具函数遇对象

转化规律:

1)先调用toString(),判断是否返回原始数据;如果是,结束,否则2)

2)调用valueOf()

var obj = {
    valueOf(){ return 5; },    
    toString() { return ‘hello‘; }
};
String(obj); // "hello"

4. Number()工具函数遇对象

转化规律:

1)先调用valueOf()方法,如果返回原始数据,结束;否则2)

2)调用toString()方法

var obj = {
    valueOf(){ return 5; },    
    toString() { return ‘hello‘; }
};
Number(obj); // 5

 

js数据类型转化规律

原文:https://www.cnblogs.com/lyraLee/p/11627350.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!