个人整理的javaScript学习笔记!
主要参考廖雪峰老师的官方网站:https://www.liaoxuefeng.com/
笔记中引用的图片或者其他内容都不是原创。
字符串基础
JavaScript的字符串就是用”或”“括起来的字符表示。
如果’本身也是一个字符,那就可以用”“括起来,比如”I’m OK”包含的字符是I,’,m,空格,O,K这6个字符。
如果字符串内部既包含’又包含”怎么办?可以用转义字符\来标识,比如:
'I\'m \"OK\"!';
表示的字符串内容是:I’m “OK”!
转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\表示的字符就是\。
这里顺便了解一下转义字符:
多行字符串
由于多行字符串用\n写起来比较费事,所以最新的ES6标准新增了一种多行字符串的表示方法,用反引号 ...
表示:
`这是一个
多行
字符串`;
模板字符串
要把多个字符串连接起来,可以用+号连接:
var name = '小明';
var age = 20;
var message = '你好, ' + name + ', 你今年' + age + '岁了!';
alert(message);
ES6新增了一种模板字符串:
var name = '小明';
var age = 20;
var message = `你好, ${name}, 你今年${age}岁了!`;
alert(message);
字符串属性和方法
length
字符串的长度
var s = 'Hello, world!';
s.length; // 13
索引
要获取字符串某个指定位置的字符,使用类似Array的下标操作,索引号从0开始:
var s = 'Hello, world!';
s[0]; // 'H'
s[6]; // ' '
s[7]; // 'w'
s[12]; // '!'
s[13]; // undefined 超出范围的索引不会报错,但一律返回undefined
注意:字符串是不可变的,如果对字符串的某个索引赋值,不会有任何错误,但是,也没有任何效果!
toUpperCase和toLowerCase
toUpperCase()把一个字符串全部变为大写;
toLowerCase()把一个字符串全部变为小写;
indexOf
indexOf()会搜索指定字符串出现的位置:
var s = 'hello, world';
s.indexOf('world'); // 返回7
s.indexOf('World'); // 没有找到指定的子串,返回-1
substring
substring()返回指定索引区间的子串:
var s = 'hello, world'
s.substring(0, 5); // 从索引0开始到5(不包括5),返回'hello'
s.substring(7); // 从索引7开始到结束,返回'world'
concat
concat()连接两个字符串:
var str1 = "Hello ";
var str2 = "world!";
var n = str1.concat(str2);
console.log(n); //Hello world!
charAt
charAt()返回在指定位置的字符:
var str = "HELLO WORLD";
var n = str.charAt(2); // L
substr
substr()抽取指定数目的字符:
var str="Hello world!";
var n=str.substr(2,3);
console.lgo(n); // llo
split
split()把字符串分割为字符串数组:
var str="How are you doing today?";
var n=str.split(" ");
console.log(n); // How,are,you,doing,today?
splice
splice()提取字符串的片断,并在新的字符串中返回被提取的部分:
var str="Hello world!";
var n=str.slice(1,5); //ello