当 JavaScript 语句没有加上分号时,则会受到自动插入分号(ASI)规则影响,
因此有时不加分号程序码也不会出错,但结果不一定是自己想要的
范例:
function callName(){
return
'weiwei';
}
console.log(callName());
// 被 ASI 转换成
function callName(){
return;
'weiwei';
}
console.log(callName());
此时会回传 undefined
而不是 'weiwei'
因为受到自动插入分号(ASI)的影响,
会在 return
後方加上分号,
加上分号後 return
也就没有回传内容,
因此才会回传 undefined
如果显示 'weiwei'
的话就必须改成
function callName(){
return 'weiwei';
}
console.log(callName());
再来看另一个范例
if (1 > 2) a = 1
else a = 2
console.log(a)
此时会回传 2
,
而该范例会被 ASI 转换
if (1 > 2) a = 1;
else a = 2;
console.log(a);
// 加入分号後可写在同一行
if (1 > 2) a = 1; else a = 2; console.log(a);
如果新的一行开头为
(
、[
、/
、+
、-
、*
、%
、,
、.
则不会发生 ASI 的规则
范例:
let a = 1
let b = a
+ a
console.log(b) // 2
以上就是今天的内容,感谢观看!!
>>: [Day 5] 站在巨人的肩膀上 - 回顾股票市场交易论文
我们可以在开发环境中使用 <React.StrictMode>进入严格模式 严格模式帮...
在Google助理平台上 呼叫Google助理调用Action的方式, 依据用户是否明白指出调用的...
今天跟大家介绍 Mail 通知,其实就是 SMTP server ~ 首先就是要准备一组帐号密码,通...
1.NPM版本 无须更新到最新,怕错误 2.制作专案package.json npm init np...
DAY8 MongoDB 批次操作(bulk wirte) 与 Operators bulk wri...