javascript数据类型(二)

一、字符串对象
1、可以使用new运算符,来显式的生成一个字符串对象。
  1. var sobj = new string('abc');
2、字符串能够被隐式转换为字符串对象
  1. var sobj =new string('abc');
  2. var s=sobj+'def';
  3. document.write(s);
  4. /*
  5. 输出:
  6. abcdef
  7. */
3、判定字符串值和字符串对象,是否相等上是有差异的。对象的相等运算,判断的是两者是否引用了用一个对象。
  1. var sobj1=new string('abc');
  2. var sobj2=new string('abc');
  3. >>sobj1==sobj2
  4. >>false
  5. >>sobj1===sobj2
  6. >>false
虽然字符串的内容相同,但是并非引用了同一个对象,所以结果是false
4、两个字符串对象,通过“+”与空字符值连接之后,就会进行隐式数据类型转换而变为字符串值。
  1. var sobj1=new string('abc');
  2. var sobj2=new string('abc');
  3. >>sobj1+''==sobj2+''
  4. >>true
  5. >>sobj1+''===sobj2+''
  6. >>true
5、使用会进行隐式数据类型转换的==运算符,只会判定其内容是否相同,如果内容相同则为真
  1. var sobj=new string('abc');
  2. var s=abc;
  3. >>sobj==s
  4. >>true
  5. >>sobj===s
  6. >>false
二、避免混用字符串值和字符串对象
1、不要显式的使用new string()。
2、需要使用字符串值的时候,使用字符字面量来赋值。
3、积极的使用隐式数据类型转换,将字符串转换为字符串对象。

三、调用string函数
1、string函数是为了进行显示的数据类型转换
  1. var s=new string('abc');
  2. >>typeof(s)
  3. >>string
  4. var s=new string(47);
  5. >>typeof(s)
  6. >>string
四、非破坏性方法
1、字符串对象和字符串值一样,是不可变的。
2、不能改写字符串的内容。
3、改变字符串内容的方法,都会生成一个新的字符串对象然后将其返回。
  1. var s=new string('abc');
  2. var s2=s.toUpperCase();
  3. document.write(s,s2);
  4. /*
  5. 输出:
  6. abcABC
  7. */
  8. s[0]='A';
  9. document.write(s);
  10. /*
  11. 输出:
  12. abc
  13. */

参考书籍资料:

1、javascript编程全解http://www.ituring.com.cn/book/1140

2、javascript 岳英俊http://pan.baidu.com/s/1eQlegKE









posted @ 2015-05-08 21:03  静文  阅读(...)  评论(...编辑  收藏