亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

自動分號插入和返回語句

自動分號插入和返回語句

PIPIONE 2019-10-23 12:37:44
如您所知,ECMAscript會嘗試變得聰明,如果您未明確編寫分號,則會自動插入分號。簡單的例子function foo() {    var bar = 5    return bar}仍將按預期工作。但是,如果您依靠這一點,則有一些警告。如果我們像這樣重寫該函數function foo() {    var bar = 5    return    {        bar: bar    }}該函數現在將返回,undefined因為解釋器將在該return語句之后插入該分號(這就是為什么始終將大括號與一條語句放在同一行的原因)。然而,知道這一切,現在我不知道如何安全的一個return像下面的語句是,跨瀏覽器和版本function foo() {    var a = true,        b = true,        c = false;    return a             && b            && c;}我只是return statement在生產環境中寫過類似的文章。僅僅因為我知道ECMAscript的“問題”而對分號插入不是那么聰明,我現在想知道,該代碼能否100%有效。在我對FF / Chrome / IE(最新版本)的首次測試中,這似乎完全可以,但是真的嗎?如果除了該行中的語句以外,自動分號插入是否會“喚醒” return?任何人都可以提供有關實現的詳細信息嗎?
查看完整描述

3 回答

?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

正如Christoph指出的那樣,您的return語句將在所有瀏覽器中正常工作。我確實更希望使它更加明確,即使不是對于計算機而是對人類而言,至少要通過將和運算符不同地放置:


return a &&

       b &&

       c;

在這種情況下,沒有人需要再三思考自動分號是否會造成嚴重破壞。我只喜歡JavaScript,您的原始代碼更容易閱讀。


查看完整回答
反對 回復 2019-10-23
  • 3 回答
  • 0 關注
  • 712 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號