提取字符串当中的字符
有两种方法:
- charAt(position)
- charCodeAt(position)
charAt()方法
charAt()方法返回指定位置上的字符。
var str = "HELLO WORLD";
str.charAt(0); // 返回H
charCodeAt()方法
charCodeAt()方法返回指定位置上的字符的unicode。
Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
var str = "HELLO WORLD";
str.charCodeAt(0); // 返回72,H对应的unicode是72。
将字符串赋给数组是不安全的
var str = "HELLO WORLD";
str[0]; // 返回 H
这是不安全和不可预测的:
- 并不是所有的浏览器都支持,例如:IE5, IE6, IE7。
- 这让字符串看起来像数组(实际上不是)
- str[0] = “H”没有报错,但有的浏览器是不可正常执行的。比如chrome返回H,但是IE11返回undefined
如果你想让字符串读起来像数组,那么请先转换成数组。
将字符串转换成数组
split()方法可以将字符串转换成数组:
var txt = "a,b,c,d,e";
txt.split(","); // 在半角逗号位置分开
txt.split(" "); // 在空格位置分开
txt.split("|"); // 在竖线位置分开
例:
var txt = "a,b,c,d,e";
console.log( txt ); // 输出a,b,c,d,e
console.log( txt[1] ); // 输出,
var txt = txt.split(",");
console.log( txt ); // 输出a,b,c,d,e
console.log( txt[1] ); // 输出b
如果省略了分隔符,会将整个字符串转换成数组赋给index[0]了。也就是数组的第一个对象。
如果分隔符””,那么会输出一个由多个单字符组成的数组。
如果省略了分隔符,会将整个字符串转换成数组赋给index[0]了。也就是数组的第一个对象。
如果分隔符””,那么会输出一个由多个单字符组成的数组。
<p id="demo"></p>
var str = "Hello";
var arr = str.split("");
var text = "";
var i;
for (i = 0; i < arr.length; i++) {
text += arr[i] + "<br>"
}
document.getElementById("demo").innerHTML = text;
上面的代码执行结果:
H
e
l
l
o
更多字符串方法
除了这几节课介绍的方法外还有其它方法,至少,这几节课介绍的是最常用的。
但并不是说没有介绍的就不重要。比如:prototype()方法,我们经常会在插件里遇到,作用是允许向对象添加新的属性或者方法。
例:
<p id="demo"></p>
function employee(name, jobtitle, born) {
this.name=name;
this.jobtitle=jobtitle;
this.born=born;
}
employee.prototype.salary = 2000;
var fred = new employee("Fred Flintstone", "Caveman", 1970);
document.getElementById("demo").innerHTML = fred.salary + fred.name;
这四节课中我们主要是学习了操作字符串时常用的方法,也对字符串的操作有了一定的认识,其它更多的方法,我们可以在日后需要的时候上网查一查。但依然建议先去了解全部的方法,这样需要的时候才能想起来。
评论区
发表新的留言
您可以留言提出您的疑问或建议。
您的留言得到回复时,会通过您填写的邮箱提醒您。