String对象的创建
可以通过 new 关键字:
var str = new String('hello world');
也可以通过更简单的方式:
var str = 'hello world';
注意:
- 当重新给 str 赋值时, str 不会被修改,依然存在内存中;
- 重新赋值会在内存中重新开辟(申请)空间,这就是字符串的一大特点字符串布可变;
- 因此在进行字符串大量拼接时会有效率问题。
String对象的属性和方法
属性:
length
获取字符串的长度。
如:
var strObj = "hello world"; // 创建字符串
var len = strObj.length; // 获取字符串的长度
document.write(len); // 11
方法:
toLowerCase()
将字符串中的字母转成全小写。
如:
var str = 'Hello World';
console.log(str); // Hello World
var str2 = str.toLowerCase();
console.log(str2); // hello world
toUpperCase()
将字符串中的字母转成全大写。
如:
var str = 'Hello World';
str = str.toUpperCase();
console.log(str); // HELLO WORLD
charAt(index)
功能:返回指定下标位置的一个字符。如果没有找到,则返回空字符串。
语法:
strObj.charAt(index)
参数:index
是指定的一个索引号,根据 index 索引号来返回一个字符。
示例:
//循环输出字符
var str = "正在学习Web大前端中!";
for (var i = 0; i < str.length; i++) {
document.write("<br />"+str.charAt(i));
}
indexOf()
功能:返回一个子字符串在原始字符串中的索引值(查找顺序从左往右查找)。如果没有找到,则返回-1。
语法:
strObj.indexOf(substr)
参数:substr
代表要查找的一个子字符串。
示例:
//判断邮箱格式是否合法
var email = window.prompt("请输入邮箱地址:");
if (email.indexOf("@") == -1) {
document.write("邮箱"+email+"不合法");
} else {
document.write("邮箱"+email+"合法");
}