当然,凡是学习过javascript的同学都知道,javascript中有一个非常重要的对象,这个对象非常又用,而且也经常出现在我们的程序中。那就是String对象。
如何定义一个String对象
定义一个String对象很定义一个基本的对象是一样的。如下所示:
var strObj = new String('string');
但是在javascript中,还有一个被称为string的类型,string类型和String对象很容易被搞混了,虽说这两者之间有着千丝万缕的关系,但是这两者有着本质的区别,一个是对象,一个是类型。关于这两者之间的转换,我相信很多人都或多或少的见过,
var str1 = 'abc'; // 定义一个string类型
var strObj = new String(''); // 定义一个String对象
var strObj3 = new String(str1); // 将string类型转换成String对象。
var str4 = strObj.toString(); // 将String对象转换成string类型
console.log(typeof str1);
console.log(typeof strObj);
console.log(typeof strObj3);
console.log(typeof str4);
通过上述的代码可以对String对象和string类型之间的转化有一定的了解了。
String对象的属性
String对象拥有两个属性,length 和 prototype;
length是String对象的中字符串的长度,
prototype这个就不用说吧,这个是javascript对象的原型。
String对象的自带方法。
String对象同其他的自带对象一样,也有很多的原生的方法。学起来有点蛋疼,有很多的都不怎么用的,因为之前我也有很多的方法不清楚,但是深入学习了之后,发现原来是这样。
1. String.fromCharCode()
这是一个静态方法,其主要作用是根据指定的 Unicode 编码中的序号值来返回一个字符串。
语法就是 String.fromChartCode(num0, num1, … , numN);
一定要记住,这个方法返回的内容是一个字符串,不是String对象两者之间的区别就不用多说了吧。还有就是关于静态方法的使用跟内置方法的使用是不一样的,这个应该都清楚。是通过String.fromCharCode()去使用,而不是通过 var str1 = new String(); str1.fromCharCode()去使用。于是我就写了个小的demo
var a = String.fromCharCode(65, 66);
console.log(a);
for(var i = 65; i < 500; i++) {
console.log(String.fromCharCode(i));
}
当然要了解这个就应该比较了解什么是Unicode。关于Unicode的理解可以看看这边http://blog.csdn.net/imyang2007/article/details/7470708 这里面对Uincode有一个比较直观的介绍。
2.String.fromCodePoint()
3.String.prototype.anchor()
这个方法是String对象的一个内置方法,其主要功能是创建一个html连接。所穿参数为创建连接的name,写个例子吧,有些时候写demo看例子,必看文字,看描述有用的多得多。
var str1 = 'hello world';
var result = str1.anchor('hello world');
console.log(result);
//输出结果为:<a name="hello world">hello world</a>
4.String.prototype.big()
big这个方法和anchor相类似,都是处处一个带有html标签的字符串,但是不存在参数,输出的结果比如说'big'.big() ===>'<big>big<big>';就是这样的,其实相类似的方法还有很多,具体的就不多介绍了
5.String.prototype.charAt(index);
这个方法顾名思义,就是是返回一个字符串中第n个字符是什么。就比如下面的这个demo中所写的内容。
var str = 'hello world';
console.log(str.charAt(0));
console.log(str.charAt(1));
console.log(str.charAt(2));
console.log(str.charAt(3));
// 输出结果为 h, e, l, l
6.String.prototype.charCodeAt(index);
这个方法同charAt相类似,但是这个不是返回 第n的字符,而是返回其字符的Unicode码;如下demo:
var str = 'hello world';
console.log(str.charCodeAt(0)); // 输出104
console.log(str.charCodeAt(1)); // 输出101
console.log(str.charCodeAt(2)); // 输出108
console.log(str.charCodeAt(3)); // 输出108
7.String.prototype.concat(string)
这方法是连接字符串的方法,也就是说将当前字符串与参数中的字符串连接后的结果 返回出来,当前字符串不变。
var str = 'hello world';
var str2 = 'xiaoming';
console.log(str.concat(str2)); // 输出 hello world xiaoming
console.log(str); // 输出 hello world