JavaScript学习笔记二

1.字符串

字符串可以存储一系列字符,如 “John Doe”。

字符串可以是插入到引号中的任何字符。你可以使用单引号或双引号:

var carname = "Volvo XC60";
var carname = 'Volvo XC60';
var x = 'It\'s alright';
var y = "He is called \"Johnny\"";

反斜杠是一个转义字符。 转义字符将特殊字符转换为字符串字符:

转义字符 () 可以用于转义撇号,换行,引号,等其他特殊字符。

下表中列举了在字符串中可以使用转义字符转义的特殊字符:

代码	 输出
\'		单引号
\"		双引号
\\		反斜杠
\n		换行
\r		回车
\t		tab(制表符)
\b		退格符
\f		换页符

字符串可以是对象
通常, JavaScript 字符串是原始值,可以使用字符创建: var firstName = “John”

但我们也可以使用 new 关键字将字符串定义为一个对象: var firstName = new String(“John”)

var x = "John";
var y = new String("John");
typeof x 	// 返回 String
typeof y	 // 返回 Object

原始值字符串,如 “John”, 没有属性和方法(因为他们不是对象)。

原始值可以使用 JavaScript 的属性和方法,因为 JavaScript 在执行方法和属性时可以把原始值当作对象。
字符串属性

	属性					描述
constructor			返回创建字符串属性的函数
length				返回字符串的长度
prototype			允许您向对象添加属性和方法

字符串方法

	方法				描述
charAt()		返回指定索引位置的字符
charCodeAt()	返回指定索引位置字符的 Unicode 值
concat()		连接两个或多个字符串,返回连接后的字符串
fromCharCode()	将 Unicode 转换为字符串
indexOf()		返回字符串中检索指定字符第一次出现的位置
lastIndexOf()	返回字符串中检索指定字符最后一次出现的位置
localeCompare()	用本地特定的顺序来比较两个字符串
match()			找到一个或多个正则表达式的匹配
replace()		替换与正则表达式匹配的子串
search()		检索与正则表达式相匹配的值
slice()			提取字符串的片断,并在新的字符串中返回被提取的部分
split()			把字符串分割为子字符串数组
substr()		从起始索引号提取字符串中指定数目的字符
substring()		提取字符串中两个指定的索引号之间的字符
toLocaleLowerCase()	根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLocaleUpperCase()	根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLowerCase()	把字符串转换为小写
toString()		返回字符串对象值
toUpperCase()	把字符串转换为大写
trim()			移除字符串首尾空白
valueOf()		返回某个字符串对象的原始值

下面一一对这些操作进行演示:

①charAt() 方法可返回指定位置的字符。

返回字符串中的第三个字符:
var str = "HELLO WORLD";
var n = str.charAt(2)
n输出结果:
L

②charCodeAt() 方法可返回指定位置的字符的 Unicode 编码

返回字符串第一个字符的 Unicode 编码:
var str = "HELLO WORLD";
var n = str.charCodeAt(0);
n 输出结果:
72

③concat() 方法用于连接两个或多个字符串。

该方法没有改变原有字符串,但是会返回连接两个或多个字符串新字符串。

连接两个字符串:
var str1 = "Hello ";
var str2 = "world!";
var n = str1.concat(str2);
n 输出结果:
Hello world!

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

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

查找字符串 "welcome":
var str="Hello world, welcome to the universe.";
var n=str.indexOf("welcome");
n 输出结果:
13

使用indexOf可以判断很多事情,比如是否属于一个数组

var arr = [1,2,4]
arr.indexOf(1) != -1;
返回true
可以在后面加一个事件来判断是否执行,这个比较灵活

⑤includes() 方法用于判断字符串是否包含指定的子字符串。

如果找到匹配的字符串则返回 true,否则返回 false。

查找字符串是否包含 "Runoob":
var str = "Hello world, welcome to the Runoob。";
var n = str.includes("world");
n 输出结果:
true

在三元表达式中特别好用

⑥lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,如果指定第二个参数 start,则在一个字符串中的指定位置从后向前搜索,没有返回-1

查找字符串 "runoob" 最后出现的位置:
var str="I am from runoob,welcome to runoob site.";
var n=str.lastIndexOf("runoob");
n 输出结果:
28

⑦match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。

在字符串中查找 "ain":
var str="The rain in SPAIN stays mainly in the plain"; 
var n=str.match(/ain/g);
n 输出数组结果值:
ain,ain,ain

注意: match() 方法将检索字符串 String Object,以找到一个或多个与 regexp 匹配的文本。这个方法的行为在很大程度上有赖于 regexp 是否具有标志 g。如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。如果没有找到任何匹配的文本, match() 将返回 null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。

⑧repeat() 方法字符串复制指定次数。

复制字符串 "Runoob" 两次:
var str = "Runoob";
str.repeat(2);
n 输出结果:
RunoobRunoob

⑨replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串

在本例中,我们将执行一次替换,当第一个 "Microsoft" 被找到,它就被替换为 "Runoob":

var str="Visit Microsoft! Visit Microsoft!";
var n=str.replace("Microsoft","Runoob");
n 输出结果:

Visit Runoob!Visit Microsoft!

var n=str.replace(/Microsoft/g,"Runoob");     //全局替换所有的,如果g换位gi则可以忽略大小写
n 输出结果:

Visit Runoob!Visit Runoob!

⑩search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串

查找 "Runoob":
var str="Visit Runoob!"; 
var n=str.search("Runoob");         //search(/Runoob/i)忽略大小写检索
n 输出结果:
6

⑪slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

使用 start(包含) 和 end(不包含) 参数来指定字符串提取的部分。

var str="Hello world!";
var n=str.slice(1,5);
n 输出结果:
ello

⑫split() 方法用于把一个字符串分割成字符串数组,参数为分隔符号

把一个字符串分割成字符串数组:
var str="How are you doing today?";
var n=str.split(" ");
n 输出一个数组的值:
How,are,you,doing,today?

⑬startsWith() 方法用于检测字符串是否以指定的子字符串开始。

如果是以指定的子字符串开头返回 true,否则 false。

var str = "Hello world, welcome to the Runoob.";
var n = str.startsWith("Hello");
n 输出结果:
true

⑭substr() 方法可在字符串中抽取从 开始 下标开始的指定数目的字符,substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。

抽取指定数目的字符:
var str="Hello world!";
var n=str.substr(2,3)
n 输出结果:
llo

⑮substring() 方法用于提取字符串中介于两个指定下标之间的字符。

substring() 方法返回的子串包括 开始 处的字符,但不包括 结束 处的字符。

语法

string.substring(from, to)

<script>

var str="Hello world!";
document.write(str.substring(3)+"<br>");
document.write(str.substring(3,7));

</script>
以上代码输出结果:

lo world!
lo w

⑯toUpperCase() 方法用于把字符串转换为小写。

var a='test';
a.toUpperCase()
>>	"TEST"

⑰toLowerCase() 方法用于把字符串转换为小写。

var b="TEST";
b.toLowerCase()
"test"

⑱trim() 方法用于删除字符串的头尾空格。

trim() 方法不会改变原始字符串。

去除字符串的头尾空格:

var str = "       Runoob        ";
alert(str.trim());
输出结果:

Runoob

⑲valueOf() 方法可返回 String 对象的原始值。

注意: valueOf() 方法通常由 JavaScript 在后台自动进行调用,而不是显式地处于代码中。

返回 String 对象的原始值:

<script>

var str="Hello world!";
document.write(str.valueOf());

</script>
以上实例输出结果:

Hello world!

⑳toString() 方法返回一个表示 String 对象的值。

返回一个 String 对象的值:

var str = "Runoob";
var res = str.toString();
res 输出结果:

Runoob
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值