学习笔记—JavaScript的String对象

本文深入解析JavaScript中字符串的创建、属性、方法等核心内容,包括如何创建字符串对象、使用length属性获取字符数、查找字符串中的子字符串、复制子串、转换大小写、获取字符信息、字符串拆分与组合等关键技巧。
创建对象:

    创建String对象方法:

var string1=new String("Hello");
var string1=new String(123);
var string1=new String(123.456);

也可以声明一个基本的字符串,然后用作String对象,JS会隐式转换类型:

var string2="Hello World";

length属性:
    作用:
        返回字符串中的字符数。
    实例:

var myName=new String("Jeremy");
document.write(myName.length);
 //最终屏幕会输出字符串的长度:6

indexOf()lastIndexOf()方法:
    作用:
        用于查找在一个字符串中是否包含了另外一个字符串。区别在于indexOf()是从字符串中从前
        往后开始查找,lastIndexOf()是从字符串中从后往前开始查找。
    参数:
        需要查找的子字符串;
        父字符串中开始查找的位置[可选];
    返回值:
        返回第一个查找到的子字符串在父字符串中的位置。若不存在,则返回-1。
        【注意:字符串中位置值是从0开始的】
    举例:

var myString=new String("hello nihao hello world hello");
var firstPosition=myString.indexOf("hello");//值为0
var secondPosition=myString.indexOf("hello",1);//值为12
var lastPosition=myString.lastIndexOf("hello");//值为24

substr()substring()方法:
    作用:
        用于复制字符串的一个子串。
    参数:
对于substr():
        子串中要包含的第一个字符的起始位置;
        要复制的子串的长度(可选,若没有则复制到结尾)
对于substring():
子串的开始位置
子串中最户一个字符后面的字符位置(可选,若没有直接到结尾)
    返回值:
        复制出的子串
    举例:

var myString=new String("JavaScript");
var mySubString=myString.substr(0,4);//返回值是Java




toLowerCase()toUpperCase()方法:
    作用:
        将字符串转换成统一的大小写。
    举例:

var myString=new String("Hello,wOrLd");
var low=myString.toLowerCase();//变成:hello world
var up=myString.toUpperCase();//变成:HELLO WORLD


charAt()charCodeAt()方法:
    作用:
        用于找出字符串中某个字符的信息。
    参数:
        所选字符在字符串中的索引位置。【注意是从0开始】
    返回值:
        charAt()返回该索引值处的字符。
        charCodeAt()返回该索引值处的字符在Unicode字符集中的十进制编码。
    举例:

var myString=new String("happy");
var at=myString.charAt(1);//此时为:a
var codeat=myString.charCodeAt(1);//此时为:97



fromCharCode()方法:
    作用:
        其与上面的charCodeAt()方法刚好相反,给它传送一系列的用逗号分隔的、表示字符编码的数字
        它就会把他们转换成一个字符串
        注意:fromCharCode()是一个静态方法,无需创建String对象就可以使用它。
    实例:

var myString=String.fromCharCode(65,66,67);//返回值是:ABC

对于String对象的下面的四种方法,主要是配合起正则表达式来使用的,功能十分强大


split()方法:
    作用:
        可以根据指定为参数的字符拆分字符串,返回值是一个数组,其中每个元素都
        包含一个拆分后的子串
    实例:

var myListString="apple, banana, peach, orange";
var myFruitArray=myListString.split(", ");
//通过这种方法就可以拆分成一个数组,数组中每个元素表示一种水果
var myListString="apple, 0.99, banana, 0.50, peach, 0.25, orange, 0.75";
//在这个字符串中若要取出水果名,就不那么容易了
var theRegExp=/[^a-z]+/i;
var myFruitArray=myListString.split(theRegExp);
//通过正则表达式,可以成功的分离掉中间的数字的干扰,分离出水果

replace()方法
    replace()方法的独特之处在于他可以根据与正则表达式匹配的分组来替换文本。在
    使用这方法的时候,需要使用$符号和分组的序号。
    例如

var myRegExp=/(\d)(\w)/;
此时,$1引用分组(\d),$2引用分组(\w)。
    下面实例证明其强大之处:

var myString="1999, 2000, 2001";
//若想把myString通过replace变成"the year 1999,the year 2000,the year 2001"
//则方法是:
var myRegExp=/(\d{4})/g;
myString=myString.replace(myRegExp,"the year $1");

search()方法
    可以在字符串中搜索字符模式。如果找到了该模式,则返回找到的模式的字符位置,否则返回-1
    例如:

var myString="Beginning JavaScript,Beginning Java 2,Professional JavaScript";
//若想只查找单独的Java,而不查找JavaScript中的Java,则可以通过与正则表达式结合实现:
var myRegExp=/\bJava\b/i;
alert(myString.search(myRegExp));//此时值为32

match()方法
    与search方法类似,但是,match返回一个数组,数组中每个元素包含一个匹配的文本
    实例:

var myString="The years were 1999,2000 and 2001";
var myRegExp=/\b\d{4}\b/g;
var resultArray=myString.match(myRegExp);//此时数组中包含的元素为:1999、2000、2001






评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值