《JS权威指南学习总结--toString()和valueOf()方法》

方法要点:

 .toString()方法

     1.主要用于Array、Boolean、Date、Error、Function、Number等对象转化为字符串形式。

     数组类的toSting()方法将每个数组元素转换为一个字符串,并在元素之间添加逗号后合并成结果字符串。

     函数类的toString()方法返回这个函数的实现定义的表示方法。实际上实现方式通常是将用户定义的函数转换为js源代码字符串

     日期类的toString()方法返回一个可读的日期和字符串。

     RegExp类的toString()方法将RegExp对象转换为表示正则表达式直接量的字符串。

    2.

   //在当前页面内追加换行标签和指定的HTML内容
    function log( html ){
       console.log(html);
     };


     //数组
     var array = ["CodePlayer", true, 12, -5];
     log( array.toString() ); // CodePlayer,true,12,-5  

     // 日期
     var date = new Date(2013, 7, 18, 23, 11, 59, 230);
     log( date.toString() ); // Sun Aug 18 2013 23:11:59 GMT+0800 (中国标准时间)

     // 日期2
     var date2 = new Date(2016, 7, 18, 23, 11, 59, 230);
     log( date2.toString() ); // Fri Aug 18 201623:11:59 GMT+0800 (中国标准时间)

     // 数字
     var num =  15.26540;
     log( num.toString() ); // 15.2654

     // 布尔
     var bool = true;
     log( bool.toString() ); // true

    // Object
    var obj = {name: "张三", age: 18};
     log( obj.toString() ); // [object Object]

     // HTML DOM 节点
     var eles = document.getElementsByTagName("body");
       log( eles.toString() ); // [object NodeList]

 二.valueof()方法

     1.这个方法的任务并没有详细的定义:如果存在任意原始值,它就默认将对象转换为表示它的原始值。

     2.对象是复合值,而且大多数对象无法真正表示为一个原始值,因此默认的valueOf()方法简单地返回对象本身,而不是返回一个原始值。

     3.数组、函数和正则表达式简单地继承了这个默认方法,调用这些类型的实例的valueOf()方法只是简单返回这个对象本身。

     4.日期类定义的valueOf()方法会返回它的一个内部表示:1970年1月1日以来的毫秒数。

       eg:

        var d = new Date(2010,0,1);  //2010年1月1日

       d.valueOf();                             //1262332800000

原文地址:https://www.cnblogs.com/hanxuming/p/5762940.html