您好!欢迎来到爱源码

爱源码

热门搜索: 抖音快手短视频下载   

简单JavaScript中的tostring()和valueOf()方法 {互站网}

  • 时间:2022-10-25 01:48 编辑: 来源: 阅读:290
  • 扫一扫,手机访问
摘要:简单JavaScript中的tostring()和valueOf()方法 {互站网}
说明所有对象都继承toString()和valueOf()方法,对象到字符串和对象到数字的转换都是通过调用待转换对象的这两个方法之一来完成的。 解释toString()方法用于返回反映该对象的字符串,许多类都定义了不同版本的toString()。 默认情况下,该操作返回“[对象类]”,其中类是对象类型的名称。 其中class是对象的类:值是“对象”、“字符串”、“数字”、“函数”、“窗口”、“文档”等。 将ArrayArray的元素转换为字符串 结果字符串由逗号分隔并连接在一起。 如果布尔值为真,则返回“真”。 否则,返回“假” Date返回日期的文字表示。 Error返回包含相关错误消息的字符串。 Function返回以下格式的字符串,其中functionname是被调用的toString方法函数的名称:function function name(){[native code]} regexp返回正则表达式的直接量的字符串编号以及该编号的文字表示。 返回字符串对象的值 ({}.toString());//= & gt;“[对象对象]”[1,2]。toString();//= & gt;" 1,2 " true . tostring();//= & gt;“真实”新日期(1970,0,1)。toString();//= & gt;“thujan 01 1970 00:00:00 GMT+0800(CST)”错误(“错误消息”)。toString();//= & gt;“错误:一条错误消息”(function (x){return x})。toString();//= & gt;"函数(x){return x}" /\d/。toString();//= & gt;"/\\d/"或"/\d/"浏览器在返回时可能有不同的valueOf()方法。它的作用是:如果一个对象有任何原始值,它会默认将该对象转换为原始值。如果对象是一个复合值,并且大多数对象实际上不能表示为原始值,那么默认的valueOf()方法只是返回对象本身,而不是一个对象。 数组、函数和正则表达式只是继承了这个默认方法,调用这些类型实例的valueOf()方法只是返回对象本身。 由该类定义的valueOf()方法将返回其内部表示形式之一:自1970年1月1日以来的毫秒数。 [1,2].value of();//= & gt;[1,2] (function (){})。value of();//= & gt;函数(){}/\d/。value of();//= & gt;/\d/新日期()。value of();//= & gt;102941383029原始值:不可改变的值,包括未定义、空、布尔、数字、字符串。 请看下图,其中列出了一些基本的类型转换。这个图来自JavaScript的权威指南。 好了,现在我们已经了解了toString()方法和valueOf()方法,下面就来说说对象到字符串和对象到数字的转换。 从对象到字符串的转换:1。如果对象有tostring()方法,则调用此方法。 如果她返回原始值,JavaScript将该值转换为字符串(如果不是字符串)并返回字符串结果。 2.如果对象没有toString()方法,或者该方法没有返回原始值,那么JavaScript将调用valueOf()方法。 如果这个方法存在,JavaScript就会调用它。 如果返回值是原始值,JavaScript将该值转换为字符串(如果它本身不是字符串)并返回字符串结果。 3.否则,JavaScript无法从toString()或valueOf()中获取原始值,因此会抛出类型错误异常。 从对象到数字的转换:1。如果对象有valueOf()方法,该方法返回一个原始值,JavaScript将把原始值转换成一个数字(如果需要的话)并返回该数字。 2.否则,如果对象有返回原始值的toString()方法,JavaScript将转换它并返回它。 3.否则,JavaScript抛出一个类型错误异常。 所以这解释了为什么一个空数组被转换成数字0,为什么一个只有一个元素的数组也被转换成数字。 该数组继承默认值valueOf()方法,该方法返回一个对象而不是原始值。因此,从数组到数字的转换调用toString()方法。 空数组转换为空字符串,空字符串转换为数字0。 将包含元素的数组转换为字符串的结果与将该元素转换为字符串的结果相同。 如果数组只包含一个数字元素,这个数字将被转换为字符串,然后再转换回数字。 JavaScript中的“+”运算符可以执行数学加法和字符串连接操作。 如果它的一个操作数是一个对象,JavaScript将使用一个特殊的方法将对象转换为原始值,而不是使用其他算术运算符来执行从对象到数字的转换。“= =”相等运算符与此类似。 如果将对象与原始值进行比较,转换将遵循对象到原始值的转换方法。 应用的“+”和“= =”对象到原始值的转换包括日期对象的一种特殊情况。 类是JavaScript语言核心中唯一预定义的类型,它定义了到字符串和数字类型的有意义的转换。 对于所有非日期对象,从对象到原始值的转换基本上是从对象到数字的转换(首先调用valueOf()),而日期对象使用的是从对象到字符串的转换方式。不过这里的转换和上面描述的并不完全一样:会直接使用valueOf()或者tostring()返回的原始值,而不是强制转换成数字或者字符串。 与“= =”相同 无论原始值是否可以直接使用,都不会进一步转换成数字或字符串。 本文总结了toString()方法和valueOf()方法的基础知识。本文中的很多概念都来自于JavaScript的权威指南书,可以多读一些。


  • 全部评论(0)
资讯详情页最新发布上方横幅
最新发布的资讯信息
【技术支持|常见问题】1556原创ng8文章搜索页面不齐(2024-05-01 14:43)
【技术支持|常见问题】1502企业站群-多域名跳转-多模板切换(2024-04-09 12:19)
【技术支持|常见问题】1126完美滑屏版视频只能显示10个(2024-03-29 13:37)
【技术支持|常见问题】响应式自适应代码(2024-03-24 14:23)
【技术支持|常见问题】1126完美滑屏版百度未授权使用地图api怎么办(2024-03-15 07:21)
【技术支持|常见问题】如何集成阿里通信短信接口(2024-02-19 21:48)
【技术支持|常见问题】算命网微信支付宝产品名称年份在哪修改?风水姻缘合婚配对_公司起名占卜八字算命算财运查吉凶源码(2024-01-07 12:27)
【域名/主机/服务器|】帝国CMS安装(2023-08-20 11:31)
【技术支持|常见问题】通过HTTPs测试Mozilla DNS {免费源码}(2022-11-04 10:37)
【技术支持|常见问题】别告诉我你没看过邰方这两则有思想的创意广告! (2022-11-04 10:37)

联系我们
Q Q:375457086
Q Q:526665408
电话:0755-84666665
微信:15999668636
联系客服
企业客服1 企业客服2 联系客服
86-755-84666665
手机版
手机版
扫一扫进手机版
返回顶部