JavaScript String对象详解:创建方式与常用方法
本文介绍JavaScript中String对象的两种创建方式及其区别,包括显式与隐式声明对类型和性能的影响。同时详细解析indexOf和substring两个核心方法的使用,通过Email验证和字符串截取实例演示具体应用。
JavaScript String对象概述
String对象用于存储字符串数据,并提供了处理字符串所需的各类属性和方法。
String对象的创建方式
1. 创建String对象:显式与隐式
<DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<head>
<title>js函数</title>
</head>
<script type="text/javascript">
//申明String对象的两种方式:显式和隐式申明
//1.隐式
var myString="abc";
document.write(myString+"<br/>");
//2.显式
var myString2=new String("abc");
document.write(myString2+"<br/>");
</script>
<body>
</body>
</html>
显式声明和隐式声明String对象在类型上存在差异:隐式声明的字符串对象类型为string,而显式声明的对象类型为object。
显式创建与隐式创建字符串的主要区别在于,若需重复使用相同的字符串,显式创建字符串能带来更高的效率。
此外,显式创建字符串有助于JavaScript解释器区分数字与字符串,避免类型混淆。
String对象的常用方法
2. 使用String对象的方法
String对象包含众多方法,本文重点讨论indexOf()和substring()方法,使用时需注意大小写敏感。
需要明确的是,JavaScript字符串由字符组成,每个字符对应一个从0开始的索引值,即第一个字符索引为0,第二个为1,依此类推。
indexOf()方法用于查找并返回子字符串首次出现的索引位置;若未找到目标元素,则返回-1。此外,lastIndexOf()方法用于返回子字符串最后一次出现的位置。
以下示例演示如何判断用户输入的Email地址中是否包含@符号:
<DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<head>
<title>js函数</title>
</head>
<script type="text/javascript">
//让用户输入Email地址,检查输入是否包含@符号
//使用prompt方法,获取用户输入的Email地址,检查是否包含@符号,使用indexof返回@符号的索引
var userInput=prompt("Please enter your email address","Email");
if(Number(userInput.indexOf("@"))==-1)
{
document.write("对不起,您输入的Email不合法");
}
else
{
document.write("恭喜您,您输入的Email通过验证");
}
</script>
<body>
</body>
</html>
substring()方法通过指定字符串的起始和结束索引参数,从原字符串中截取子字符串。若省略第二个参数,则返回从起始索引到字符串末尾的所有内容。例如,截取从第三个字符到第六个字符的代码如下:
<DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<head>
<title>js函数</title>
</head>
<script type="text/javascript">
//从起始位置,到结束位置
var myhello="Hello Javascript World";
var newMyhello= myhello.substring(0);
document.write(newMyhello+"<br/>");
//从第三个字符到第六个字符
var myhello="Hello Javascript World";
var newMyhello= myhello.substring(2,5);
document.write(newMyhello+"<br/>");
</script>
<body>
</body>
</html>
以上即为本文的全部内容,希望读者能够喜欢。
JavaScript异步发送HTTP请求时怎么优雅地处理错误
2026-11-05 17:10:44
5款主流JS在线运行工具对比:CodePen、JSFiddle与StackBlitz怎么选
2026-11-05 17:04:04
JavaScript入门书籍避坑:这些书不适合初学者
2026-11-05 16:31:15
JS使用Math.round实现保留两位小数的原理与代码
2026-11-05 15:35:55
JavaScript 原生 Date 对象怎么实现日期加减
2026-11-05 14:30:00
