JavaScript中的object转换函数toString()与valueOf()介绍

JavaScript中,object转换为boolean的操作非常简单:所有的object转换成boolean后均为true;即使是new Boolean(false)这样的object在转换为boolean后仍然为true。

代码如下:

var x = new Boolean(false);
if(x){
  console.log("x is true");
}

在将object转换为string或者number时,JavaScript会调用object的两个转换函数:toString()与valueOf()。

toString()

toString()函数的作用是返回object的字符串表示,JavaScript中object默认的toString()方法返回字符串”[object Object]“。定义类时可以实现新的toString()方法,从而返回更加具有可读性的结果。JavaScript对于数组对象、函数对象、正则表达式对象以及Date日期对象均定义了更加具有可读性的toString()方法:

1.array的toString()方法将返回以逗号分隔的数组成员。比如,[1,2,3].toString()会返回字符串”1,2,3″。

2.function的toString()方法将返回函数的文本定义。比如,(function(x){return x*2;}).toString()会返回字符串”function(x){return x*2;}”。

3.RegExp的toString()方法与function的toString()方法类似,将返回正则表达式的文本定义。比如,/\d+/g.toString()会返回字符串”/\\d+/g”。

4.Date的toString()方法将返回一个具有可读性的日期时间字符串。

valueOf()

valueOf()函数的作用是返回object的数值表示,JavaScript中object默认的valueOf()方法会返回该object自身。与toString()一样,定义类时可以实现新的valueOf()方法,从而返回需要的结果。JavaScript对于Date对象定义了更加具有可读性的valueOf()方法:

1.Date的valueOf()方法将返回一个数值,该数值为Date对象与1970年1月1日零时的时间差(以毫秒为单位)。

(0)

相关推荐

  • JavaScript函数中关于valueOf和toString的理解

    今天看到一个试题,实现如下语法的功能: var a = add(2)(3)(4); //9 这个就是一个高阶函数的应用,分析:add(2)会返回一个函数,add(2)(3)也会返回一个函数,最后add(2)(3)(4)返回一个数值. 实现: function add(num1){ return function(num2){ return function(num3){ return num1+num2+num3; } } } add(2)(3)(4);//9 这个没有错的,可以完美解决问题.

  • 实例解析JS布尔对象的toString()方法和valueOf()方法

    toString() 方法 把布尔值转换为字符串,并返回结果. 实例 将布尔值转换为字符串: var bool = new Boolean(1); var myvar = bool.toString(); 输出结果: true 定义和用法 toString() 方法可把一个逻辑值转换为字符串,并返回结果. 注意:当需要把Boolean对象转换成字符串的情况JavaScript会自动调用此方法. 语法 boolean.toString() 返回值 "true" 或者 "fals

  • Javascript中valueOf与toString区别浅析

    前言 基本上,所有JS数据类型都拥有这两个方法,null除外.它们俩解决javascript值运算与显示的问题,重写会加大它们调用的优化. 测试分析 先看一例: 复制代码 代码如下: var aaa = {  i: 10,  valueOf: function() { return this.i+30; },  toString: function() { return this.valueOf()+10; } } alert(aaa > 20); // true alert(+aaa); //

  • 全面解析JavaScript中的valueOf与toString方法(推荐)

    可以这样说,所有JS数据类型都拥有valueOf和toString这两个方法,null除外.它们俩解决javascript值运算与显示的问题.在程序应用非常广泛.下面我们逐一来给大家介绍下. JavaScript 的 valueOf() 方法 valueOf() 方法可返回 Boolean 对象的原始值. 用法booleanObject.valueOf(),返回值为booleanObject 的原始布尔值.如果调用该方法的对象不是 Boolean,则抛出异常 TypeError. <script

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

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

  • JavaScript中valueOf函数与toString方法深入理解

    JavaScript中valueOf函数方法是返回指定对象的原始值.使用方法: object.valueOf( )object是必选项参数是任意固有 JScript 对象. 每个JavaScript固有对象的 valueOf 方法定义不同. 对象 返回值 Array 数组的元素被转换为字符串,这些字符串由逗号分隔,连接在一起.其操作与 Array.toString 和 Array.join 方法相同. Boolean Boolean 值. Date 存储的时间是从 1970 年 1 月 1 日午

  • JavaScript中的object转换函数toString()与valueOf()介绍

    JavaScript中,object转换为boolean的操作非常简单:所有的object转换成boolean后均为true:即使是new Boolean(false)这样的object在转换为boolean后仍然为true. 复制代码 代码如下: var x = new Boolean(false); if(x){   console.log("x is true"); } 在将object转换为string或者number时,JavaScript会调用object的两个转换函数:t

  • JavaScript中的object转换成number或string规则介绍

    在JavaScript程序编写过程中,根据不同的上下文,JS会自动将object转换成number或者string后再处理.这种自动转换的规则如下: object自动转换成string的规则: 1.如果object所属类覆写了toString()方法,则调用该方法.如果toString()调用的返回结果为Primitive(string.number.boolean.undefined.null),则将该Primitive值转换成string后返回. 2.如果object所属类没有覆写toStr

  • JavaScript中你不知道的Object.entries用法

    目录 前言 1. 使用 for...of 遍历普通对象 2. 普通对象与 Map 对象相互转换 总结 参考 前言 平时我们经常会用到 Object 类上的静态方法,例如 Object.keys .Object.values .Object.assign 等等,但可能很少用到 Object.entries 这个方法,这篇文章就来讲解 Object.entries 方法的两个小技巧. 作用 Object.entries() 方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用 for-in

  • 详解JavaScript中的Object.is()与"==="运算符总结

    三重相等运算符 === 严格检查2个值是否相同: 1 === 1; // => true 1 === '1'; // => false 1 === true; // => false 但是,ES2015规范引入了 Object.is(),其行为与严格的相等运算符几乎相同: Object.is(1, 1); // => true Object.is(1, '1'); // => false Object.is(1, true); // => false 主要问题是:什么时

  • pd.to_datetime中时间object转换datetime实例

    目录 数据预处理 方式一 方式二 方式三 参考: 时间object转换datetime实例 首先说一下: 1/17/07 has the format “%m/%d/%y” 17-1-2007 has the format “%d-%m-%Y” 这是一部分的时间转换格式,通过以上的格式,你可以将DataFrame中的时间格式转换为以下等python格式: 0 2007-03-02 1 2007-03-22 2 2007-04-06 3 2007-04-14 4 2007-04-15 Name:

  • javascript中call,apply,bind函数用法示例

    本文实例讲述了javascript中call,apply,bind函数用法.分享给大家供大家参考,具体如下: 一.call函数 a.call(b); 简单的理解:把a对象的方法应用到b对象上(a里如果有this,会指向b) call()的用法:用在函数上面 var Dog=function(){ this.name="汪星人"; this.shout=function(){ alert(this.name); } }; var Cat=function(){ this.name=&qu

  • JavaScript中重名的函数与对象示例详析

    前言 本文主要给大家介绍了关于JavaScript中重名的函数与对象的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. JavaScript 允许重复声明变量,后声明的覆盖之前的. var a = 1; var a = 'x'; console.log(a); //输出'x' JavaScript允许重复定义函数. JavaScript没有重载这个概念,它仅依据函数名来区分函数. 后定义的同名函数覆盖之前的,与参数无关. function test() { consol

  • DataFrame中的object转换成float的方法

    数据类型转换: 今天遇到一个问题,就是DataFrame类型的数据里是str型的数字,想把数字转换为int 或float:百度没有发现好的,也可能输入的关键字不对,找不到: DataFrame.info()之后发现数据全是object 之前有一个方法就是: 先traindata=np.array(traindata,dtype=np.float)之后在 traindata=pd.DataFrame(traindata)转换 但看着很繁琐,突发奇想,试到了下面的方法,一句就搞定得意得意 train

  • JavaScript中常见内置函数用法示例

    本文实例讲述了JavaScript中常见内置函数用法.分享给大家供大家参考,具体如下: 一.介绍 在使用JavaScript语言时,除了可以自定义函数之外,还可以使用JavaScript的内置函数,这些内置函数是由JavaScript语言自身提供的函数. 二.一些常用的内置函数做详细介绍 1.parseInt()函数 该函数主要将首位为数字的字符串转化成数字,如果字符串不是以数字开头,那么将返回NaN. 语法: parseInt(StringNum,[n]) StringNum:需要转换为整型的

  • JavaScript中变量提升与函数提升经典实例分析

    本文实例讲述了JavaScript中变量提升与函数提升.分享给大家供大家参考,具体如下: 从两个实例说起: eg1: var i; console.log(i); // 2 eg2: console.log(i); // undefined var i = 2; 1.提升 变量和函数声明从它们在代码中出现的位置被提升到了最上面. 注意: 只有声明本身会被提升,而赋值操作不会被提升. 变量会提升到其所在函数的最上面,而不是整个程序的最上面. 函数声明会被提升,但函数表达式不会被提升: func1(

随机推荐