tostring方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【1】基本包装类型-布尔型
var obj = new Boolean(true);
console.log(obj.toString()); //“真”
console.log(typeof obj.toString()); //字符串
//如果是包装器类型的原始类型,则返回原始原始类型值
var a = true;
console.log(a.toString()); //“真”
console.log(typeof a.toString()); //字符串
如果它是与基本包装器类型相对应的基本类型,则返回原始值。但是,这并不意味着基本类型具有tostring()方法(基本类型不是对象并且没有任何方法),而是在读取基本类型值时,后台将创建与基本类型相对应的对象包装器类型,以便调用某些方法。因此,当基本类型“调用” tostring()方法时,它实际上会创建相应的基本包装类型,该基本包装类型将调用tostring()并最终返回其相应的字符串。似乎基本类型调用tostring()方法来获取相应的字符串。
【2】基本包装类型-串状
var obj = new String(“ hello”);
console.log(obj.toString()); //你好
console.log(typeof obj.toString()); //字符串
//如果是包装器类型的原始类型,则返回原始原始类型值
var a =“ hello”;
console.log(a.toString()); //你好
console.log(typeof a.toString()); //字符串
与[1]相同,字符串基本包装类型和调用tostring()方法的基本类型返回相应的字符串
【3】基本包装类型-编号类型
var obj = new Number(“ 123”);
console.log(obj.toString()); // 123
console.log(typeof obj.toString()); //字符串
//如果是包装器类型的原始类型,则返回原始原始类型值
var a = 123;
console.log(a.toString()); // 123
console.log(typeof a.toString()); //字符串
与[1]相同,通过调用数字基本包装类型和基本类型的tostring ()方法返回相应的字符串。
请注意,如果直接调用整数,则应加上方括号,否则将报告错误。因为整数后的点被识别为小数点。浮点不报告错误。
console.log(123.toString()); //未捕获的SyntaxError
console.log((123).toString()); //“ 123”
console.log(12.3.toString()); //“ 12.3”
此外,数字tostring()方法可以接收转换基数的表示形式(可选,2-36中的任何数字),并且如果未指定此参数,则转换规则将基于十进制。
var n = 33;
console.log(n.toString()); //'33'
console.log(n.toString(2)); //'100001'
console.log(n.toString(3)); //'41'
console.log(n.toString(10)); //'33'
console.log(n.toString(16)); //'21'
console.log(n.toString(37)); //未捕获的RangeError:toString()基数参数必须在2到36之间
【4】数组数组类型(返回由数组内容组成的字符串)
var a = [1,2,3,4];
console.log(a.toString()); //“ 1,2,3,4”
console.log(typeof a.toString()); //字符串
【5】功能功能类型(返回功能代码字符串)
var a = function(){};
console.log(a.toString()); //“ function(){};”
console.log(typeof a.toString()); //字符串
【6】正则表达式类型(返回原始正则表达式的字符串表示形式)var a = / a / g;
console.log(a.toString()); ///“ a / g”
console.log(typeof a.toString()); //字符串
【7】日期类型(返回代表当前时间的字符串)
var obj = new Date();
console.log(obj); // 2017年5月10日星期三18:20:05 GMT
+ 0800(中国标准时间)
console.log(typeof obj); //对象
console.log(obj.toString()); // 2017年5月10日星期三18:20:05 GMT + 0800(中国标准时间)“
console.log(typeof obj.toString()); //字符串
【8】对象对象类型和自定义对象类型(返回[对象对象])
var obj = {a:1};
console.log(obj.toString()); //“ [对象对象]”
console.log(typeof obj.toString()); //字符串
函数Foo(){};
var foo = new Foo();
console.log(foo.toString()); //“ [对象对象]”
console.log(typeof foo.toString()); //字符串
在判断对象的类型时,使用Object.prototype.toString()返回字符串“ [object object object type]”,但无法确定自定义对象的类型。
[摘要]:
未定义和null没有此方法(基本类型必须没有方法。字符串,数字和布尔值只能调用方法,因为它们具有相应的基本包装器类型);
日期类型返回代表时间的字符串;
对象类型返回字符串[对象对象]
[与valueof()相比]