5.2.2 转换方法

本文详细介绍了JavaScript中数组的toLocaleString(), toString(), valueOf()及join()方法。通过具体实例展示了这些方法如何工作,并解释了它们之间的区别。特别是当应用于不同自定义对象时,这些方法的表现有何不同。

1:所有对象都具有toLocaleString()、toString()和valueOf()方法。其中,调用 数组的toString()方法会返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串,而 调用valueOf()返回的还是数组。实际上,为了创建这个字符串会调用数组每一项的toString()方 法。来看下面这个例子。

    var colors = ["red", "blue", "green"];
    console.log(colors);
    console.log(colors.toString());
    console.log(colors.toLocaleString());
    console.log(colors.valueOf());

这里写图片描述

2:toLocaleString()方法经常也会返回与toString()和valueOf()方法相同的值,但也不总是如此。

    var person1 = { //定义对象person1:
      toLocaleString: function() { //而且还分别为每个对象定义了一个toString() 方法和一个toLocaleString()方法,这两个方法返回不同的值
        return "Nikolaos";
      },
      toString: function() {
        return "Nicholas";
      }
    };
    var person2 = { //定义对象person2:
      toLocaleString: function() {
        return "Grigorios";
      },
      toString: function() {
        return "Greg";
      }
    };
    var people = [person1, person2];
    alert(people); //Nicholas,Greg
    alert(people.toString()); //Nicholas,Greg
    alert(people.toLocaleString()); //Nikolaos,Grigorios

3:数组继承的toLocaleString()、toString()和valueOf()方法,在默认情况下都会以逗号分隔的字符串的形式返回数组项。而如果使用join()方法,则可以使用不同的分隔符来构建这个字符串。join()方法只接收一个参数,即用作分隔符的字符串,然后返回包含所有数组项的字符串。请看下面的例子:

var colors = ["red", "green", "blue"];
alert(colors.join(",")); //red,green,blue
alert(colors.join("||")); //red||green||blue

如果不给join()方法传入任何值,或者给它传入undefined,则使用逗号作为分隔 符。IE7 及更早版本会错误的使用字符串”undefined”作为分隔符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值