有關 JavaScript 的 10 件讓人費解的事情

來源:互聯網
上載者:User

JavaScript 可算是世界上最流行的程式設計語言,它曾被 Web 開發設計師貼上噩夢的標籤,雖然真正的噩夢其實是 DOMAPI,這個被大量的開發與設計師隨手拈來增強他們的 Web 前端的指令碼語言,如今越來越被重視,雖則如此,JavaScript仍然擁有很多讓人費解的東西。

1. 它以 Java 命名,但並不是 Java

它最初叫 Mocha, 接著改名為 LiveScript,最後才確定命名為 JavaScript,根據記錄,Java 的命名與Netscape 和 Sun 之間的合作有關,作為交換條件,Netscape 在他們備受歡迎的瀏覽器中建立了 Java運行時。值得一提的是,這個名字的出台幾近一個玩笑,要知道,LiveScript 和 Java 在用戶端指令碼方面存在敵對關係。

不管怎麼說,人們後來不得不一再澄清的一件事就是,JavaScript 和 Java 毫無關係。

2. Null 是個對象?

看看這段代碼,它返回的是 object。

這實在令人費解,假如 null 表示空值,它怎麼可以是對象?簡單說,它是 JavaScript 最初版本的錯誤,這個錯誤甚至被微軟的 JScript 直接借用。

3. NaN !== NaN

NaN,表示一個非數位值,然而問題是,NaN不等於任何東西,甚至不等於它自己。

這顯然不對,事實上,如果要判斷一個值確實是 NaN,你需要用 isNaN() 函數。

4. 全域變數

對全域變數的依賴一直被視為 JavaScript 最壞的部分(ECMA 的 JavaScript 5 已經去掉了全域變數,請參閱 ECMA 推出 JavaScript 5 - 譯者注)。對簡單的頁面,這無所謂,但複雜的頁面,如果包含大量 JavaScript 指令碼,你很難知道某個全域變數是在哪裡聲明的,如果幾個全域變數不小心重名,就會引發錯誤。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.