成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

只有 1% 的開發人員能在 60 秒內找到代碼中的錯誤

開發 前端
這個 Bug 并不常見,但偶爾會讓人頭疼半天。如果在代碼中習慣把大括號換行到下一行,又忘了手動加分號,就可能被 ASI“坑”到。

下面這段簡單的 JavaScript 代碼里藏著一個不起眼但足以讓人抓狂的錯誤:

function getResult(a, b) {
    return 
    {
        result: a + b
    };
}

console.log(getResult(2, 3)); // 結果真的是 5 嗎?

表面看上去,這只是一個“把兩個數相加,然后返回對象”的函數,可實際運行后卻并非預期的 { result: 5 }。乍一眼看不出任何毛病,但結果可能會讓你大吃一驚。

Bug 原因

實際輸出會是 undefined。為什么?這是 JavaScript 的自動分號插入(Automatic Semicolon Insertion, ASI)在作祟:

  • return 語句后面由于換行,JavaScript 會在此自動插入一個分號。
  • 花括號 {} 便被解釋成代碼塊而不是對象字面量。
  • 這樣一來,真正的返回語句被看作 return;,函數自然就返回了 undefined。

用“JS 眼中的解釋”來寫就是:

return; // 這行被自動插入了分號
{
    result: a + b;
}

如何修復

有兩種常見做法都能解決這個問題:

讓對象字面量跟在 return 同一行:

function getResult(a, b) {
    return {
        result: a + b
    };
}

在對象外包一層小括號:

function getResult(a, b) {
    return (
        {
            result: a + b
        }
    );
}

兩種寫法都能保證沒有意外的分號插入,從而讓函數正常返回 { result: 5 }

小結

這個 Bug 并不常見,但偶爾會讓人頭疼半天。如果在代碼中習慣把大括號換行到下一行,又忘了手動加分號,就可能被 ASI“坑”到。
平時可以多注意一下這個特性,或者手動在 return 后面寫對象時直接跟在同一行,避免自動分號的意外影響。自動格式化工具有時也會發生這種失誤,看到這里或許就知道要警惕什么了。

責任編輯:姜華 來源: 大遷世界
相關推薦

2023-09-01 08:51:31

2010-08-09 16:09:25

2015-09-21 09:34:57

2020-04-20 18:15:46

開發自信技術

2019-04-24 08:56:34

Java開發人員常犯錯誤

2020-05-25 16:36:19

開發工具編碼

2020-09-23 22:40:31

Python 開發編程語言

2012-07-20 10:46:44

Web

2020-05-17 16:10:36

開發人員軟件開發開發

2022-10-09 19:02:16

JavaScript開發測驗

2015-03-19 09:13:24

應用程序開發云服務商亞馬遜

2022-12-29 08:27:03

Java開發人員編碼

2022-04-30 17:15:45

Retool軟件工程師開發者

2009-03-06 13:47:07

開發人員SOA

2021-02-16 16:44:40

RustJavaScript開發

2022-01-06 16:15:58

自測測試開發人員

2010-03-20 20:35:33

2012-08-01 09:34:51

代碼編輯器開發代碼

2012-11-27 10:23:18

CSSWeb開發

2021-12-10 13:06:37

低代碼無代碼開發人員
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久国产视频 | 国产日韩欧美中文字幕 | 久久一区二区免费视频 | ww亚洲ww亚在线观看 | 浴室洗澡偷拍一区二区 | 超碰av免费 | 一级欧美日韩 | 在线免费激情视频 | 一区二区三区小视频 | 婷婷久久五月 | 久久久久国产精品一区三寸 | 国产视频1区 | 免费同性女女aaa免费网站 | 日本在线精品视频 | 欧美精品一区三区 | 亚洲中午字幕 | 精品亚洲一区二区三区 | 成人欧美 | 激情av免费看 | 天天干,夜夜操 | 亚洲一区 中文字幕 | 在线一区| 国产精品视频久久 | 九九热精品视频 | chinese中国真实乱对白 | 亚洲免费在线视频 | 久久久男人的天堂 | 99这里只有精品视频 | 91久久精品国产 | 九九九视频精品 | 免费一区 | 亚洲一区二区不卡在线观看 | 九九热在线免费视频 | 亚洲精品久久久一区二区三区 | 中文字幕av在线播放 | 国产美女在线精品免费 | 日韩精品免费在线 | 天天干免费视频 | 国产中文字幕网 | ririsao久久精品一区 | 在线免费观看黄色 |