javascript 数据类型的一些方法总结

字符串

slice()与substring()的区别:

相同点:均接收两个参数,分别是子字符串的起始位置和终止位置。返回这两者之间的子字符串,不包括终止位置的字符。如果第2个参数不设置,则默认字符串的长度,即从起始位置到字符串的末尾。

不同点:负数参数对于slice()而言是从字符串的末尾往前计数,而substring()则直接将负数忽略,作为0处理,并将两个参数中较小的作为起始位置,较大的作为终止位置。如substring(2,-3)等同于substring(0,2)。

1 <script language="javascript">
2     var myString = "Tsinghua University";
3     document.write(myString.slice(4) + "<br/>");    //ghua University
4     document.write(myString.slice(2,-3) + '<br/>');   //inghua Univers
5     document.write(myString.substring(2,-3) + "<br/>");  //Ts
6     document.write(myString.substring(2,0) + "<br/>");  //Ts 
7 </script>

substr():接收两个参数,分别是起始字符串的位置和子字符串的长度。

<script language="javascript">
    var myString = "Tsinghua University";
    document.write(myString.substr(2,3) + "<br/>");    //ing
</script>

indexOf()和lastIndexOf()的区别:

indexOf()从前往后搜,lastIndexOf()则相反,他们的返回值都是子字符串开始的位置(这个位置都是由前往后从0开始计数的),如果找不到则返回-1。

indexOf("x",num)表示从num开始往后寻找x。

lastIndexOf("x",num)表示从num开始往前寻找x。

1 <script language="javascript">
2     var myString = "Tsinghua University";
3     document.write(myString.indexOf("i") + "<br/>"); //2
4     document.write(myString.indexOf("i",3) + "<br/>"); //11
5     document.write(myString.lastIndexOf("i") + "<br/>"); //16
6     document.write(myString.lastIndexOf("i",3) + "<br/>");//2
7     document.write(myString.lastIndexOf("V") + "<br/>");  //-1
8 </script>

数值

对于数值类型,如果希望转换成科学计数法则可以采用toExponential()方法,该方法接收一个参数,表示要输出的小数位数。

布尔型

与字符串不同,布尔值不能用引号引起来,否则就变成string类型。

1 <script language="javascript">
2     var myString = "true";
3     document.write(typeof(myString) + "<br/>"); //string
4     myString = true;
5     document.write(typeof(myString) + "<br/>"); //boolean
6 </script>