一、数据类型和变量
- 数据类型:数字,字符串,布尔值(true,false),null(为空),undefined,数组([0,1]),对象({...}),变量(var)
- 运算符:+ - * / % && || != == => < >= <=
- 进制:0x(16进制),0b(二进制)
二、字符串String
- 字符串所用符号:用' ' 或者" "(注意:字符串里有需转义的符号可以用转义字符\,比如\n表示换行,\t表示制表符,\\表示\)
- ASCII字符可以以\x##形式的十六进制表示,还可以用\u####表示一个Unicode字符。
- 多行字符串:由于多行字符串用\n写起来比较费事,所以最新的ES6标准新增了一种多行字符串的表示方法,用反引号`...`表示。
注意:反引号在键盘的ESC下方,数字键1的左边
4. 拼接字符串:以用+号连接;用 ${引用变量}
5. 字符串常见的操作
//字符格式
'\x41'; // 完全等同于 'A'
'\u4e2d\u6587'; // 完全等同于 '中文'
// 多行字符串
`这是一个
多行
字符串`;
//拼接字符串
var name = '小明';
var age = 20;
var message = '你好, ' + name + ', 你今年' + age + '岁了!';
var message = `你好, ${name}, 你今年${age}岁了!`;
//字符串场景操作
var s = 'Hello, world';
s.length; // 13
s[0] = 1 //s[0]仍为H,不可以通过索引赋值
s[13]; // undefined 超出范围的索引不会报错,但一律返回undefined
s.toUpperCase(); // 返回'HELLO, WORLD'
var lower = s.toLowerCase(); // 返回'hello, world'并赋值给变量lower
// indexOf()会搜索指定字符串出现的位置
s.indexOf('world'); // 返回7
s.indexOf('World'); // 没有找到指定的子串,返回-1
//substring()返回指定索引区间的子串
s.substring(0, 5); // 从索引0开始到5(不包括5),返回'hello'
s.substring(7); // 从索引7开始到结束,返回'world'