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