JS中toString()和valueOf()的用法及两者的区别

JavaScript中的tostring()和valueof()方法的用法及区别 tostring()方法将对象转换为字符串形式,方便输出和拼接字符串,而valueof()方法返回对象的原始值,通常是将对象转换为数字、布尔值或字符串类型。在JavaScript中,tostring()和valueof()是两个常用的方法,用于将对象转换为字符串或返回对象的原始值。需要注意的是,tostring()方法也可以通过对象的原型链调用。需要注意的是,如果没有为对象定义自定义的valueof()方法,JavaScript会默认调用对象的toString()方法来获取原始值。 阅读详情

基本上,所有JS数据类型都拥有valueOf和toString这两个方法,null除外。它们俩解决javascript值运算与显示的问题。

1.用法如下:

toString()方法:返回对象的字符串表示。

 

对象操作
Array将 Array 的元素转换为字符串。结果字符串由逗号分隔,且连接起来。
Boolean如果 Boolean 值是 true,则返回 “true”。否则,返回 “false”。
Date返回日期的文字表示法。
Error返回一个包含相关错误消息的字符串。
Function返回如下格式的字符串,其中 functionname 是被调用 toString 方法函数的名称:
function functionname( ) { [native code] }
Number返回数字的文字表示。
String返回 String 对象的值。
默认返回 “[object objectname]”,其中 objectname 是对象类型的名称。

 

valueOf()方法:返回指定对象的原始值。

 

对象返回值
Array数组的元素被转换为字符串,这些字符串由逗号分隔,连接在一起。其操作与 Array.toString 和 Array.join方法相同。
BooleanBoolean 值。
Date存储的时间是从 1970 年 1 月 1 日午夜开始计的毫秒数 UTC。
Function函数本身。
Number数字值。
Object对象本身。这是默认情况。
String字符串值。

 

2.两者的共同点与不同点:

共同点:在 JavaScript 中,toString()方法和valueOf()方法,在输出对象时会自动调用。

不同点:二者并存的情况下,在数值运算中,优先调用了valueOf,字符串运算中,优先调用了toString。

例子1如下:

<script>
 var obj = {};
 obj.valueOf = function()
 {
 return 10;
 }
 obj.toString = function()
 {
 return "return value";
 }
 var result = obj + 1; //var result = obj.valueOf() + 1;
 alert(result);
 alert(obj); //alert(obj.toString());
</script>

例子2如下:

function obj()
 { }
 obj.prototype.toString = function(){  return 'dfsf';

 };
 obj.prototype.valueOf = function(){
  return '3333';
 };
 var e = new obj();
 var o = new obj();
 alert(o);//alert(obj.toString())
 alert(o+e);//alert(obj.valueOf()+obj.valueOf())
</script>


返回值类型的差别:  ****toString vs valueOf的差别:

              1. toString一定将所有内容转为字符串

              2. valueOf返回指定对象的原始值,不进行类型转换

用途的差别:

              1. valueOf专用于算数计算和关系运算

              2. toString专用于输出字符串

共同的缺点:无法获取null和undefined的值

奥比中光Dabai深度相机SDK在Ubuntu22.04的兼容性安装指南 本文详细指导如何在Ubuntu22.04系统上安装奥比中光Dabai深度相机的SDK。针对新旧版本不兼容的核心问题,重点推荐使用经过验证的v1.10.18版本SDK,并提供了从系统依赖检查、SDK下载安装、Python环境配置到编译测试的完整步骤,帮助用户成功解决安装难题并实现相机驱动。 阅读详情

相关推荐

数学不好是原罪——高等数学笔记(汇总版)

这是本人之前考研的高数手写笔记,工科学硕数一考了146(满分150),笔记有一定参考价值,欢迎大家收藏借鉴。

xuuyann 5万+

valueOf跟toString区别

1.用法如下:toString()方法:返回对象的字符串表示。 对象操作 Array 将Array的元素转换为字符串。结果字符串由逗号分隔,且连接起来。 Boolean 如果 Boolean 值是true,则返回 “true”。否则,返回 “false”。 Date 返回日期的文字表示法。 Error 返回一个包含相关错误消息...

weixin_34032827的博客 270

海波龙(Oracle Hyperion)单点登陆问题记录

Oracle海波龙套件已经多年未更新,按Oracle官方文档实施单点登陆启用之后,SmartView工具通过专用链接方式无法登陆系统。 在抓包逆向分析之后 定位到HspSmartViewServlet类在执行以下代码时获得的ssotoken无效导致,在某大厂工作的时候曾通过在filter中截获请求的方式植入Attribute,保留账号密码并在单点程序中处理实现登陆。 但在完美世界的环境中...

cainiaoEzu的专栏 1971

JavaScript中的valueOf和toString方法

JavaScript中的valueOf和toString方法是将对象转换为字符串的两种方法。这两种方法虽然看起来非常简单,但是在实际的开发中,它们发挥着非常重要的作用。valueOf方法返回对象的原始值toString方法将对象转换为字符串并返回字符串。理解这两种方法的区别和用法,能够帮助我们更好地操作JavaScript中的对象及其属性,编写更高效、可维护的代码。valueOf方法是JavaScript中所有对象继承的方法之一,用于将一个对象转换为其原始值。

你若盛开,清风自来 1273

基于STM32与HRTIM的四开关Buck-Boost双向DC-DC电源设计实战(附源码、仿真与设计解析)

本文详细介绍了基于STM32F334的HRTIM高分辨率定时器实现四开关Buck-Boost双向DC-DC电源的设计实战。通过精准的PWM控制、双环PID算法和智能模式切换逻辑,解决了电压震荡与效率优化等关键问题,并提供了完整的源码、PSIM仿真及参数计算,为高性能电源设计提供了实用参考。

7z8x2c4v6b9的博客 299

泛微OA E9文档管理优化:临时文件清理与存储配置指南

本文深入解析了泛微OA E9系统性能下降的常见原因——临时文件堆积,并提供了完整的优化配置指南。文章详细介绍了临时文件的产生机制,并手把手指导管理员如何通过修改存储路径、调整保留时间、设置白名单等关键配置,有效清理与管理系统临时文件,从而释放存储空间,提升系统运行效率与稳定性。

tree8的博客 431

详谈js中toString()和valueOf()

详谈js中toString()和valueOf() 他们主要用于数据转换,并且所有对象都继承了这两个方法: 第一个是toString(),它的作用是返回一个反映这个对象的字符串 第二个是valueOf(),它的作用是返回它相应的原始值 什么是原始值: 原始值:不可变更的值,包括undefined、null、布尔值、数字、和字符串。 看下面这张图,列出了一些基本的类型转换。 1、toStrin...

wzg0817的博客 532

quartusII简易CPU设计

优点可以实现八种运算,数据的存取及运算都能很好的实现,上板也很成功。缺点首先由于自己知识储备的缺乏,只能实现较为简单的8种运算,也是最简单的直接寻址。其次为了方便操作,没有从外部输入数据,都是直接使用存储在存储器中的数据。后续发展后续会在此简易CPU的基础上增加一些功能对CPU进行完善,如算术运算可以考虑是补码运算,输入、输出采用存储缓冲等等,直至完整的全功能的处理器。收获通过这次实践,更熟悉Quartus软件的操作。能过更加清楚每个器件的操作,比如计数器,运算器,译码器等的实现功能。

Kong08242022的博客 3484

简单说 JavaScript中的tostring( ) 与 valueOf( )方法

说明所有的对象都继承有toString() 和 valueOf() 方法,对象到字符串,对象到数字的转换,会通过调用待转换对象的这两个方法中的一个来完成。 解释toString( )方法的作用是:返回一个反映这个对象的字符串,而很多类都定义了不同版本的toString( )。 对象 操作 默认 返回 “[object class]”,其中 class是对象类型的名称。其中class是

FEWY的博客 6万+

华为OD机试 - 战士技能规划设计 - 数组(Python/JS/C/C++ 新系统 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。你为一款动作游戏设计战士角色的技能:战士每个技能会消耗不同能量,释放技能有 2 个约束:连续释放技能数量不能超过 m 个,技能能量总和不能超过能量上限 k;如果超过则必须中断当前技能,进入调息状态(即分段)。战士有一项爆发技巧:在单次战斗中有一次

学Java,找哪吒 236

AUTOSAR进阶图解==>AUTOSAR_EXP_CDDDesignAndIntegrationGuideline

本文档提供了AUTOSAR架构中复杂驱动(CDD)的设计与集成指南。CDD作为非标准化的软件实体,位于复杂驱动层,实现传感器评估、执行器控制、微控制器访问等特殊功能。文档详细阐述了CDD的架构特点、设计建议(包括文档要求、文件结构、接口描述等)以及与其他模块(RTE、库、标准BSW等)的集成方式。特别强调了CDD在多核系统和MCAL层中的实现考量,为开发人员提供了从文档规范到代码实现的全方位指导,确保CDD在保持AUTOSAR兼容性的同时满足特殊功能需求。

一名留德华的,康德的信徒的,专注于汽车电子领域的博客 1889

【JS】toString 和 valueOf 方法

转字符串 toString() Number.prototype.toString() toString() 方法:返回指定 Number 对象的字符串表示形式。 语法: /* radix: 指定要用于数字到字符串的转换的基数(从2到36)。 */ numObj.toString([radix]) // 参数 - 如果未指定 radix 参数,则默认值为 10。 示例: var count = 10; console.log(count.toString()); // 输出 '10'

qq_45677671的博客 600

A2A 协议详解:Agent Card 的设计与实现

Agent Card 是 Agent2Agent (A2A) 协议中实现智能体发现与互操作性的核心组件。本文将深入剖析 Agent Card 的设计理念、关键字段及其在智能体生态系统中的作用。我们将通过详细的 JSON Schema 解析和 Python SDK 示例,帮助您理解如何精确地定义和发布智能体能力,为构建可发现、可协作的 AI 智能体奠定基础。当您使用a2a.Agent类初始化一个智能体时,SDK 会根据您提供的参数(nameversion等)自动构建内部的 Agent Card 表示。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 1476

java script valueof_javascript中tostring()和valueof()的用法及两者的区别

基本上,所有JS数据类型都拥有valueOf和toString这两个方法,null除外。它们俩解决javascript值运算与显示的问题。1.用法如下:toString()方法:返回对象的字符串表示。对象操作Array将Array的元素转换为字符串。结果字符串由逗号分隔,且连接起来。Boolean如果 Boolean 值是true,则返回 “true”。否则,返回 “false”。Date返...

weixin_34430580的博客 176

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

JavaScript中tostring()和valueof()的用法及两者的区别

转载:https://www.jb51.net/article/74888.htm 本文给大家介绍javascript中tostring()和valueof()的用法及两者的区别,对js tostring valueof相关知识感兴趣的朋友一起学习吧 基本上,所有JS数据类型都拥有valueOf和toString这两个方法,null除外。它们俩解决JavaScript值运算与显示的问题。 1....

qq_42586895的博客 2126

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

css valueof怎么用,浅谈String.valueOf()方法的使用

前面的话关于类型转换,对象常见的两个方法是toString()和valueOf()。实际上,这两个方法也可以应用在包装类型上。前面已经介绍过toString()方法,本文将介绍valueOf()方法,该方法返回原值【1】undefined和null没有valueOf()方法undefined.valueOf();//错误null.valueOf();//错误【2】布尔型数据true和false返回...

weixin_42303522的博客 198

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【前端精进之路】JS篇:第1期 数据类型总结_function 的 tostring() 函数返回值为函数的文本定义(2)

/ 在obj上增加一个不可枚举属性。//# JavaScript在获取DOM元素时,如果没有获取到指定的元素对象,就会返回"null"//# ①一般情况下,如果声明的变量是为了以后保存某个值,则应该在声明时就将其赋值为"null"

2401_84185224的博客 1229

php valueof,详细解读String.valueOf()方法的使用

下面我就为大家带来一篇浅谈String.valueOf()方法的使用。现在就分享给大家,也给大家做个参考。前面的话关于类型转换,对象常见的两个方法是toString()和valueOf()。实际上,这两个方法也可以应用在包装类型上。前面已经介绍过toString()方法,本文将介绍valueOf()方法,该方法返回原值【1】undefined和null没有valueOf()方法undefined....

weixin_28679635的博客 370

js的toString toLocalString valueOf辨析记忆

toString toLocalString valueOf 从别的博客上看到的记录一下,勿喷 链接https://blog.youkuaiyun.com/liwenfei123/article/details/77995484 toString()、toLocaleString()、valueOf()三个方法的区别 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar...

weixin_42060149的博客 303

【javascript】JS类型——Boolean

1. Boolean var a = true; var b = new Boolean(true); console.log(a,typeof(a)); console.log(b,typeof(b)); 结果显示: true boolean func.html:10:2 Boolean { true } object console.log(Boolean(und...

weixin_30325793的博客 78

Day16--js构造函数和工厂模式&&valuOf和toString&&对象属性的增删查改

1.构造函数和工厂模式 先说工厂模式,就好比一个工厂一样,可以批量制造某种类型的东西。其实就是封装了个方法减少重复工作 例1--工厂模式: functionanimal(name,sex){ varobj=newObject(); obj.n...

fiona_0427的博客 223

Javascript 表达式和运算符

属性访问表达式: var o = {x:1, y:{z:3}};//示例对象 var a = [o, 4, [5,6]];//包含对象的数组 console.log(o["x"]);//=> 1 对象o的x属性 console.log(a[2]["1"]);//=> 6 表达式a[2]中索引为1的元素 console.log(a[0...

weixin_34101784的博客 100

JavaScript的数据类型、类型检测、类型转换

JavaScript的数据类型 原始数据类型:Undefined、Null、Boolean、Number、String、Symbol(ES6) 引用数据类型:Object 检测值的数据类型 typeof 显示类型转换 转换为数值 【方法一】Number(),用于任何数据类型,返回值是 数和NaN Number()函数转换规则总结 值是布尔值——true转换为1,false转换为0 值是null——0 值是undefined——NaN 值是字符串——空串、只带空格的字符串是0,有非数值就是NaN 【理

danni_he的博客 287

每天10个前端知识点:杂技

个人博客已上线,欢迎前去访问评论!无媛无故 - wangchloe的个人博客 以下内容若有问题烦请即时告知我予以修改,以免误导更多人。 toString() && valueOf() JSON stringify & parse +new Date() Array.prototype.slice.call(a...

weixin_34358365的博客 142

js对象操作方法大全

对象操作方法 1.Object.create() 创建对象 和 继承对象 let a = {} a.__proto__ // 出来一大堆对象自带的方法和属性 let b = Object.create(null) 创建一个以null为原型 的对象 b.__proto__ // undefined 一般当你不想继承任何Object.prototype,想要得到一个纯净对象时可以用Object.create(null) function A() {} A.prototype.aaa = fun

豪哥的博客 2016

一文看懂JS里隐式转换、toString() 和 valueOf()

JavaScript的数据类型非常弱(弱类型语言)在使用算术运算符时,运算符两边的数据类型可以任意,比如,一个字符串可以和数字相加。之所以不同的数据类型之间可以做运算,是因为JavaScript引擎在运算之前会悄悄的把他们进行了隐式类型转换;

陈坚泓的博客 7841
上一篇: JS如何给ul下的所有li绑定点击事件,点击使其弹出下标和内容
下一篇: CSS弹性布局,两栏布局,三栏布局,圣杯布局,双飞翼布局
微  光
博客等级 码龄9年 836粉丝 151原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值