- 优先级问题
//优先级 . > }
{a:1}.a
//改进
({a:1}).a
- 小数点问题
//3.为一整体
3.toString()
//改进
(3).toString()
//或者(第一个点为小数点,第二个点为属性访问)
3..toString()
- 解构赋值
//报错
var a
{a} = {a:1} //已申明a,{a}解析为代码块, 无法赋值
//解决1:不声明,{b}解析为对象
{b} = {b:1}
//解决2:(),()里不会解析成代码块
var a
({a}={a:1})
//()里代码块报错
({console.log(1)})
- 标签语句(label : statement)
a:1 //不报错
//用途: 指定break和continue的跳出位置
a:
for (var i = 0, n = 0; i < 2; i++) {
for (var j = 0; j < 10; j++) {
if (i == 0 && j == 0) {
continue a
}
n++
}
}
n //10
for (var i = 0, n = 0; i < 2; i++) {
for (var j = 0; j < 10; j++) {
if (i == 0 && j == 0) {
continue
}
n++
}
}
n //19