字符串对象的使用
字符串对象使用new String()来创建,在String构造函数中传入字符串,就会在返回的字符串对象中保存这个字符串。示例代码如下。
var str = new String('apple'); // 创建字符串对象
console.log(str); // 输出结果:String {"apple"}
console.log(str.length); // 获取字符串长度,输出结果:5
细心的读者会发现,在前面的学习中,可以使用“字符串变量.length”的方式进行获取,这种方式很像是在访问一对象的length属性,示例代码如下。
var str = 'apple';
console.log(str.length); // 输出结果:5
实际上,字符串在JavaScript中是一种基本包装类型。JavaScript中的基本包装类型包括String、Number和Boolean,用来把基本数据类型包装成为复杂数据类型,从而使基本数据类型也有了属性和方法。
需要注意的是,虽然JavaScript基本包装类型的机制可以使普通变量也能像对象一样访问属性和方法,但它们并不属于对象类型,示例代码如下。
1 var obj = new String('Hello');
2 console.log(typeof obj); // 输出结果:object
3 console.log(obj instanceof String); // 输出结果:true
4 var str = 'Hello';
5 console.log(typeof str); // 输出结果:string
6 console.log(str instanceof String); // 输出结果:false
从上述代码可以看出,使用new String()返回的obj是一个对象,但是普通的字符串变量并不是一个对象,它只是一个字符串类型的数据。