欢迎来到JS复习专栏,本文章主要内容是内置对象string定位类方法
获取指定位置字符串方法
charAt(index)
语法:
字符 = str.charAt(index);
返回字符串指定位置的字符。这里的 str.charAt(index)
和str[index]
的效果是一样的。
注意:
字符串中第一个字符的下标是 0。如果参数 index
不在 [0, string.length)
之间,该方法将返回一个空字符串。
代码举例:
var str = new String('niuniu');
for (var i = 0; i < str.length; i++) {
console.log(str.charAt(i));
}
str[index]
str.charAt(index)
和str[index]
的效果是一样的,不再赘述。区别在于:str[index]
是 H5
标准里新增的特性。
charCodeAt(index)
语法:
字符 = str.charCodeAt(index);
返回字符串指定位置的字符的 Unicode 编码。不会修改原字符串。
- 在实际应用中,通过这个方法,我们可以判断用户按下了哪个按键。
代码举例:
打印字符串的占位长度。
提示:一个英文占一个位置,一个中文占两个位置。
思路:判断该字符是否在 0-127 之间(在的话是英文,不在是非英文)。
代码实现:
<script>
var str = 'I love my country!我你爱中国!';
alert(getZFWlength(str));
alert(str.length);
//定义方法:字符位
function getZFWlength(string) {
//定义一个计数器
var count = 0;
for (var i = 0; i < string.length; i++) {
//对每一位字符串进行判断,如果Unicode编码在0-127,计数器+1;否则+2
if (string.charCodeAt(i) < 128 && string.charCodeAt(i) >= 0) {
count++;
} else {
count += 2;
}
}
return count;
}
</script>