javascript数据类型(二)
一、字符串对象
1、可以使用new运算符,来显式的生成一个字符串对象。
var sobj = new string('abc');
2、字符串能够被隐式转换为字符串对象
var sobj =new string('abc');
var s=sobj+'def';
document.write(s);
/*
输出:
abcdef
*/
3、判定字符串值和字符串对象,是否相等上是有差异的。对象的相等运算,判断的是两者是否引用了用一个对象。
var sobj1=new string('abc');
var sobj2=new string('abc');
>>sobj1==sobj2
>>false
>>sobj1===sobj2
>>false
虽然字符串的内容相同,但是并非引用了同一个对象,所以结果是false
4、两个字符串对象,通过“+”与空字符值连接之后,就会进行隐式数据类型转换而变为字符串值。
var sobj1=new string('abc');
var sobj2=new string('abc');
>>sobj1+''==sobj2+''
>>true
>>sobj1+''===sobj2+''
>>true
5、使用会进行隐式数据类型转换的==运算符,只会判定其内容是否相同,如果内容相同则为真
var sobj=new string('abc');
var s=abc;
>>sobj==s
>>true
>>sobj===s
>>false
二、避免混用字符串值和字符串对象
1、不要显式的使用new string()。
2、需要使用字符串值的时候,使用字符字面量来赋值。
3、积极的使用隐式数据类型转换,将字符串转换为字符串对象。
三、调用string函数
1、string函数是为了进行显示的数据类型转换
var s=new string('abc');
>>typeof(s)
>>string
var s=new string(47);
>>typeof(s)
>>string
四、非破坏性方法
1、字符串对象和字符串值一样,是不可变的。
2、不能改写字符串的内容。
3、改变字符串内容的方法,都会生成一个新的字符串对象然后将其返回。
var s=new string('abc');
var s2=s.toUpperCase();
document.write(s,s2);
/*
输出:
abcABC
*/
s[0]='A';
document.write(s);
/*
输出:
abc
*/
参考书籍资料:
1、javascript编程全解http://www.ituring.com.cn/book/1140
2、javascript 岳英俊http://pan.baidu.com/s/1eQlegKE
没有任何技术可言,只是用的东西比较多了,兜兜转转,浪费了很多时间,精力,只希望那些惨痛经历不会让我失去目标。谢谢那些帮助过我的人,谢谢那些否定了我的人,谢谢那些伤害了我的人。如果可以但愿再次相见,我定不敢忘记初心,而你是否还是如初?
《写给未来的女孩》
只恨少年年少时,
但愿佳丽字闺中。
长发及腰不能娶,
愿念心意依如初。
乙丑年挥斥方遒,
铺百里红妆可愿?