tostring 和 valueOf 函数是解决值的显示和运算的问题。所有的 Object 类型的数据都自带 toString 和 valueOf 函数。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、雅安服务器托管、营销软件、网站建设、隆昌网站维护、网站推广。
比如我们定一个 Object 类型数据:
const obj = {
name: "duxin"
}
console.log(obj.valueOf()); // { name: 'duxin' }
toString 函数的作用是把一个逻辑转换为字符串,并且返回 Object 类型数据的 toString()默认的返回值"[object Object]"。
如果我们在定义对象的时候,可以重写 tosString 函数,这样 toString 的返回值可读性会更好一些,比如:
const obj = {
name: "duxin",
toString:function(){
return this.name;
}
}
console.log(obj.valueOf()); // { name: 'duxin' }
console.log(obj.toString()); // duxin
以下这些函数都是有自定义的 toString 函数:
valueOf 函数返回引用类型的原始值,如果没有原始值,就返回"{}",就是空对象的字面量。
在发生数据类型转换的时候,有liang两种场景:
var arr = [];
arr.toString = function () {
console.log('调用了toString()函数');
return [];
};
arr.valueOf = function () {
console.log('调用了valueOf()函数');
return [];
};
console.log(String(arr));
在执行String(arr)的时候,是先将数组转为字符串,调用的是toString,它的结果不能转为string;
那就调用valueOf函数,它的返回值也是一个空数组,也不能转为字符串,那就只能抛出类型转换异常了。
分享名称:一篇搞懂 toString()函数与valueOf()函数
本文URL:http://www.gawzjz.com/qtweb/news15/182815.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联