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

想一下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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值