js / string对象

在 JavaScript中,几乎所有的事物都是对象。

对象是拥有属性和方法的数据

属性是与对象相关的值。 方法是能够在对象上执行的动作。.关键词() 举例:汽车就是现实生活中的对象。

汽车的属性: car.name=Fiat  名称 car.model=500  型号 car.weight=850kg  重量 car.color=white   颜色

汽车的方法: car.start()   启动 car.drive()   驾驶 car.brake()   刹车

 String对象


创建String对象

var strOb = new String("abcefg");

var strOb = String("abcefg");

var strOb = "abcefg";

属性

length    (字符串长度)

思考:字符串为什么有length长度?

【js的基本包装类型】 为了方便操作基本数据类型,js提供了三个特殊的引用类型:string、,Number,Boolean 基本包装类型:就是把简单数据类型包装为复杂数据类型,这样基本数据类型就有了属性和方法

​
var str = 'hello';
console.log(str.length) // 5

​

按道理基本数据类型是没有属性和方法的,而对象才有属性和方法,但上面的代码却可以执行。这是因为js辉吧基本数据类型包装为复杂数据类型,其执行过程如下

// 1. 声明临时变量,把简单数据类型包装为复杂数据类型

var temp = new String('hello');

// 2. 赋值给我们声明的字符串变量

str = temp; // 3. 销毁临时变量

temp = null;

方法

方法描述
charAt()返回在指定位置的字符。
charCodeAt()返回在指定的位置的字符的 Unicode 编码。
concat()连接两个或更多字符串,并返回新的字符串。
endsWith()判断当前字符串是否是以指定的子字符串结尾的(区分大小写)。
fromCharCode()将 Unicode 编码转为字符。
indexOf()返回某个指定的字符串值在字符串中首次出现的位置。
includes()查找字符串中是否包含指定的子字符串。
lastIndexOf()从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。
match()查找找到一个或多个正则表达式的匹配。
repeat()复制字符串指定次数,并将它们连接在一起返回。
replace()在字符串中查找匹配的子串,并替换与正则表达式匹配的子串。
replaceAll()在字符串中查找匹配的子串,并替换与正则表达式匹配的所有子串。
search()查找与正则表达式相匹配的值。
slice()提取字符串的片断,并在新的字符串中返回被提取的部分。
split()把字符串分割为字符串数组。
startsWith()查看字符串是否以指定的子字符串开头。
substr()从起始索引号提取字符串中指定数目的字符。
substring()提取字符串中两个指定的索引号之间的字符。
toLowerCase()把字符串转换为小写。
toUpperCase()把字符串转换为大写。
trim()去除字符串两边的空白。
toLocaleLowerCase()根据本地主机的语言环境把字符串转换为小写。
toLocaleUpperCase()根据本地主机的语言环境把字符串转换为大写。
valueOf()返回某个字符串对象的原始值。
toString()返回一个字符串。

1.indexof

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

如果没有找到匹配的字符串则返回 -1。

注意: indexOf() 方法区分大小写。


语法

string.indexOf(searchvalue,start)

参数描述
searchvalue必需。规定需检索的字符串值。
start可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索。
Number查找指定字符串第一次出现的位置,如果没找到匹配的字符串则返回 -1。

2.lastIndexOf(string,[index])

返回子字符串abc在字符串中最后一次出现的位置

string :子字符串,查找的字符串的内容,必填项

index:开始查找位置,可有可无

返回值:返回值是查找到的子字符串的位置(下标),默认情况下,返回的是第一个被查找到的内容;如果被查找的内容不存在,则返回-1

 3.slice(start,end)

  1. 获取字符串的某个部分 截取是前包含,后不包含 start 表示开始位置,从0开始到正无穷 end 表示结束位置,可以为正值,也可以为负值
var str = 'hello wolrd';
console.log(str.slice(3,5));
console.log(str.slice(3,-1));

// 案例:使用slice和定时器,实现内容的输出
var str = '我的名字叫张三,我今年十三岁了';
var oBox = document.querySelector('#box');
var i = 0;
function show(){
    if(i<str.length){
        oBox.innerHTML += str.slice(i,++i); // 方法一
        oBox.innerHTML += str.charAt(i++); // 方法二
        setTimeout(show,100);
    }
}
show();

4.截取 substr

substr(起始位置,[截取长度]) //截取不写则代 表截取到字符串未尾 起始位置:

可以自定义,从0开始

截取长度:可以是一个数字,还可以不写;如果不写长度,表示截取到字符串的末尾

返回值:截取出来的字符串

var str="Hello world!";
var n=str.substr(2,3)

5.截取 substring

substring(起始位置,[结束位置]) //不包括截取结果的右边界字符

起始位置:是一个下标值,不能为负值

结束位置:是一个下标值,不能为负值(不包括截取结果的右边界字符)

6.替换 replace

replace('子字符串1','子字符串2') //将字符串中子字符串1替换为子字符串2,

在替换的时候要注意有些字符是需要加转移字符\,不然会把它认为成其他字符。

当第一个 "Microsoft" 被找到,它就被替换为 "Runoob":


var str="Visit Microsoft! Visit Microsoft!";
var n=str.replace("Microsoft","Runoob");

.charAt(n)

获取指定位置的字符 charAt(n) 默认为第一个字符 n 表示的是下标,范围是 0-正无穷,不能使用负值

返回字符串中的第三个字符:

var str = "HELLO WORLD";
var n = str.charAt(2)
  1. 获取指定字符的ASCII编码 str.charCodeAt()

7.toLowerCase() 大转小

将字符串转换为小写:

var str = "Runoob";
 var res = str.toLocaleLowerCase();

toUpperCase()小转大

将字符串转换为大写:

var str = "Runoob";

var res = str.toLocaleUpperCase();

 输出结果:

RUNOOB

8. split 将字符串分割为数组

  1. 将字符串分割为数组 split(分割符,[返回数组的最大长度])
  2. 分隔符:是一个字符串类型 或者是 正则表达式
  3. 返回值:数组

把一个字符串分割成字符串数组:

var str="How are you doing today?";
var n=str.split(" ");

n 输出一个数组的值:

How,are,you,doing,today?

9.

显示字符串效果 bold() 加粗 italics() 斜体 strike() 删除 fontcolor('#f00') 字符串颜色 fontsize(1-7) 字符串大小 sup() 上标标签 sub() 下标标签

设为超链接 link(url)

var oBox = document.querySelector('#box');
oBox.innerHTML = str.strike().fontsize(7).fontcolor('red').italics().link('http://www.baidu.com');

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值