在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ js 的一個(gè)小問題

js 的一個(gè)小問題

就是不太明白這樣子寫為什么不會(huì)報(bào)錯(cuò)?這樣子寫是什么意思?

let fn = () => {a: 1}
fn()

就是那個(gè) a: 1 為什么不會(huì)報(bào)錯(cuò)... 是什么意思... 求解~~~ 蟹蟹??!

回答
編輯回答
笨笨噠

ES6箭頭函數(shù):http://es6.ruanyifeng.com/#do...

上面代碼中,原始意圖是返回一個(gè)對(duì)象{ a: 1 },但是由于引擎認(rèn)為大括號(hào)是代碼塊,所以執(zhí)行了一行語句a: 1。這時(shí),a可以被解釋為語句的標(biāo)簽,因此實(shí)際執(zhí)行的語句是1;,然后函數(shù)就結(jié)束了,沒有返回值。

2018年8月30日 18:50
編輯回答
抱緊我

你這個(gè)寫是用語法錯(cuò)誤的,加個(gè)括號(hào)就好了,我也經(jīng)常這么寫:

let fn = () => ({a: 1})
fn()

因?yàn)槿绻患永ㄌ?hào),大括號(hào)就是方法體的范圍符而不是對(duì)象字面量的意思了,方法體中你直接來個(gè)a: 1肯定是不對(duì)的,加個(gè)括號(hào)就可以了

2017年7月24日 11:37
編輯回答
凹凸曼

我給你翻譯一下

let fn = () => {a: 1}

翻譯后

let fn = function() {
  a: 1
  // 沒有 return 語句, 所以返回的是 undefined
}

題主疑惑的是為什么 a: 1 不報(bào)錯(cuò)吧. 因?yàn)?js 里面是有 label 語句的! a: 1 這里會(huì)被當(dāng)做一個(gè)標(biāo)記語句, 所以不會(huì)報(bào)錯(cuò).

2018年6月4日 15:52