本文主要是介绍复杂数据类型如何转变为字符串,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 首先,会调用 valueOf 方法,如果方法的返回值是一个基本数据类型,就返回这个值,
- 如果调用 valueOf 方法之后的返回值仍旧是一个复杂数据类型,就会调用该对象的 toString 方法,
- 如果 toString 方法调用之后的返回值是一个基本数据类型,就返回这个值,
- 如果 toString 方法调用之后的返回值是一个复杂数据类型,就报一个错误。
解析:
// 1;
var obj = {valueOf: function() {return 1;}
};
console.log(obj + ""); //'1'
// 2;
var obj = {valueOf: function() {return [1, 2];}
};
console.log(obj + ""); //'[object Object]';
// 3;
var obj = {valueOf: function() {return [1, 2];},toString: function() {return 1;}
};
console.log(obj + ""); //'1';
// 4;
var obj = {valueOf: function() {return [1, 2];},toString: function() {return [1, 2, 3];}
};
console.log(obj + ""); // 报错 Uncaught TypeError: Cannot convert object to primitive value
这篇关于复杂数据类型如何转变为字符串的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!