1.严格检查模式
因为js语法的随意性,可以直接使用变量(没有声明),也不会报错。
<script>
n = 5;
</script>
但这样会造成很多问题,一是变量不声明就使用,二是这样使用的变量会是全局变量,造成重名问题。
所以还是应该先声明,再使用。
为此,js在ES6加入了严格检查模式
注意:'use strict'必须放在第一行,不然无法检查到它之前的代码
<script>
'use strict';
n = 5;
</script>
这样直接使用未声明的变量就会报错。
而是需要:
<script>
'use strict';
var n = 5;
let m = true;
</script>
用let声明的变量是局部变量,只在当前代码块内有效(最近的{}内部)
而var声明的是全局变量,还会出现变量提升的问题(可以在变量声明前就使用该变量)
2.字符串
用双引号,或者单引号表示
let s = "Alice\' rabbit\n";
转义字符:
- \'
- \n
- \t
- \u#### Unicode编码
- \x41 ASCII编码
字符串具有不可变性,不能修改
多行字符串,除了使用\n,还可以用·这个符号(tab键上方)
let s = `Alice\' rabbit
eat
a
parrot
`;
这个符号还可以用于模板字符串:
<script>
'use strict';
let age = 8;
let s = `her age is ${age}`;
</script>
结果:
字符串常用方法: