toString用法:将对象转换成字符串

来源:互联网 发布:mac os acl 编辑:程序博客网 时间:2024/06/15 21:56

想一下toString在哪里

    <script>       // var arr = [];       // alert( arr.toString ); //可以找到 function toString() { [native code] } 的方法        function Aaa() {        }        var a1 = new Aaa();        alert( a1.toString); // function toString() { [native code] }        // 其实所有的对象,不管是系统对象还是我们写的对象,都有function toString() { [native code] }    </script>

toString() : 系统对象下面都是自带的,自己写的对象都是通过原型链找Object下面的

       var arr = [];       alert( arr.toString == Object.prototype.toString ); // false
        function Aaa() {        }        var a1 = new Aaa();        alert( a1.toString == Object.prototype.toString ); //true

toString()的作用

1、toString() : 把对象转成字符串

        var arr = [1,2,3];        alert( typeof arr.toString() ); //类型被转为string类型了        alert( arr.toString() ); // '1,2,3'

2、有的时候我们想按照自己的方式将变量转成字符串,但又不行遵守他的规则,我们可以自己写

        var arr = [1,2,3];        Array.prototype.toString = function () { //把toString原本的方法覆盖掉            //我们可以写按照自己写的规则返回数据            return this.join('+');        };        alert( arr.toString() ); // '1+2+3'

3、toString()应用,进位制转换

        // 进位制转换        var num = 255;        // 将num转成16进制        alert(num.toString(16) ); //'ff'        //进位制转换应用:如颜色值转换,将16进制转成RGBA的,或者将RGBA转成16进制的

4、toString()应用,例一toString()做类型的判断

var arr = [];alert( Object.prototype.toString.call(arr) ); // '[object Array]' 数组对象
var arr = {};alert( Object.prototype.toString.call(arr) ); // '[object Object]' JSON对象
var arr = new Date;alert( Object.prototype.toString.call(arr) ); // '[object Date]' 时间对象
var arr = new RegExp;alert( Object.prototype.toString.call(arr) ); // '[object RegExp]' 正则对象
var arr = null;alert( Object.prototype.toString.call(arr) ); // '[object Null]' 空对象

5、利用toString()判断是不是数组
判断是不是数组推荐用法

var arr = [];alert( Object.prototype.toString.call(arr) == '[object Array]' ); //true