首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

valueOf与toString

valueOf与toString valueOf和toString是Object.prototype上的方法,在Js几乎所有的对象都会继承自Object,同样由于包装对象的原因,几乎所有的数据类型都能够调用这两个方法...valueOf JavaScript通过调用valueOf方法将对象转换为原始值,我们很少需要自己调用valueOf方法,当遇到要预期的原始值的对象时,JavaScript会自动调用它。...默认情况下,valueOf方法由Object后面的每个对象继承。每个内置的核心对象都会覆盖此方法以返回适当的值,如果对象没有原始值,则valueOf将返回对象本身。...obj = {}; console.log(obj.valueOf() === obj); // true var str = ""; console.log(str.valueOf() === str...后者是object 前文提到过在JavaScript运行的过程中valueOf方法经常会被偷偷的调用,我们可以自行重写valueOf方法,在def.js中甚至相当灵活使用valueOf等方式实现了Ruby

1K31
您找到你想要的搜索结果了吗?
是的
没有找到

从ECMAscript标准文档看懂valueOf

方法 返回结果 Boolean.prototype.valueOf() 返回布尔值本身 Number.prototype.valueOf() 返回数字本身 String.prototype.valueOf...() 返回字符串本身 Symbol.prototype.valueOf() 返回Symbole本身 那么,或许有人问了那这几个重新定义的 valueOf 方法和定义在Object原型上的 valueOf...按照这个思路,String.prototype.valueOf() 、Number.prototype.valueOf() 这些方法是不能被其他数据类型调用的,调用则会抛出 TypeError 异常。...接下来需要考虑的就是Date、Math、functioin等对象的原型是否定义了 valueOf 方法,通过搜索查阅手册可以发现在这些对象中只有Date对象重写了 valueOf 方法 ?...所以 Date对象的 valueOf 方法直接返回时间戳。

75110

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

数组、函数、和正则表达式简单的继承了这个默认方法,调用这些类型的实例的valueOf( )方法只是简答返回对象本身。...日期类定义的valueOf( )方法会返回它的一个内部表示:1970年1月1日以来的毫秒数。...[1,2].valueOf(); //=> [1,2] (function (){}).valueOf(); //=> function (){} /\d/.valueOf();...好了,我们现在已经了解toString( )方法 和 valueOf( )方法了,下来我们来说说,对象到字符串和对象到数字的转换。...对于所有非日期的对象来说,对象到原始值的转换基本上是对象到数字的转换(首先调用valueOf( )),日期对象则使用对象到字符串的转换模式,然而,这里的转换和上文讲述的并不完全一致:通过valueOf(

1.3K40

【JAVA】探讨 Java 中 valueOf 和 parseInt 的区别

前言 在编程中,遇到类型转换,好像会经常用到 parseInt 和 valueOf,当然这里只拿 Integer 类型进行陈述,其他类型也是雷同的; 想必有读者也跟我一样,经常交叉使用这两个方法,但却不知道这两者到底有什么区别...,接下来就来探究一番;   区别 Integer.parseInt(s) 的作用就是把字符串 s 解析成有符号基本类型的 int; Integer.valueOf(s) 把字符串 s 解析成 Integer...result : -result; valueOf 照例查看源码: public static Integer valueOf(String s, int radix) throws NumberFormatException...Integer.IntegerCache.cache[i + 128] : new Integer(i); } 可以看出 valueOf(String s, int radix) 和 valueOf(String...() 方法还是大同小异的: Integer valueOf(int i):返回一个表示指定的 int 值的 Integer 实例; Integer valueOf(String s):返回保存指定的 String

12620

toString()和valueOf()函数调用和优先级

JavaScript中几乎所有的对象都继承了toString和valueOf这两个方法: valueOf()会把数据类型转换成原始类型 toString()会把数据类型转换成string类型 需要注意的是...,这两个方法在不同使用场景会有不同的优先级: 正常情况下,优先调用toString() 有运算操作符的情况下valueOf()的优先级高于toString() 当调用valueOf()方法无法运算后还是会再调用...toString()方法 我们可以改写这两个方法测试优先级: var n = { toString: function () { return 1 }, valueOf...//1 console.log(obj[n]);//2 除了上面三个方法之外,还是有一些会比较特殊,比如Date,应该还有很多我还不知道的优先级: var date=new Date(); date.valueOf

85520
领券