JavaScript 是我們都喜歡的語言…有時甚至想敲鍵盤。它無所不在!從讓你的按鈕起舞,到凌晨 2 點破壞你的網站,原因無人能解釋。
JavaScript 非常強大、古怪而且非常奇怪。讓我們來談談它所做的一些最瘋狂的事情。
你沒看錯。 “NaN”代表“不是數字”,但 JavaScript 將其歸類為數字。就像有人說,「我不餓…但是我們去吃飯吧。」
console.log(typeof NaN); // "number"
為什麼,JavaScript?為什麼?
新增兩個陣列時會發生什麼事?你可能認為 JavaScript 會拋出錯誤,對嗎?沒有。它只是……將它們連接成一個字串。
console.log([1, 2] + [3, 4]); // "1,23,4"
這不是加法,而是加法。這是無稽之談。但是,嘿,這就是適合您的 JavaScript。
在控制台中嘗試:
console.log(true + true); // 2
是的。因為 true 被視為 1 並且 JavaScript 認為,「數學在這裡有意義!」它沒有,但讓我們假設它有意義。
未定義表示某些東西還沒有被賦值。 null 表示為空。
但它們是一樣的嗎?沒有。
console.log(undefined == null); // true console.log(undefined === null); // false
困惑嗎?我也是。每個新的 JavaScript 開發人員也是如此。
啊,這個。 JavaScript 學習者的禍根。在一種情況下,這是一個物件。在另一個情況下,它是未定義的。在箭頭函數中?這完全是另一回事。
const obj = { name: "JavaScript", regular: function () { console.log(this.name); }, arrow: () => { console.log(this.name); }, }; obj.regular(); // "JavaScript" obj.arrow(); //
每當你認為你理解了這一點時,JavaScript 就會把你的地毯從你下面拉出來。
在 JavaScript 中,== 並不總是關心類型。因此,它會嘗試為您轉換內容。這很好......直到它不是。
console.log(0 == "0"); // true console.log(0 == []); // true console.log([] == ""); // true
幫自己一個忙:使用 === 代替。總是。
JavaScript 中最大的數字是多少?無窮大。有什麼比最小的還小?負無窮大。是的,你可以用它們來做數學。
console.log(Infinity - Infinity); // NaN console.log(Infinity > 1000000); // true
JavaScript 只是隨意地證明了數學是相對的。
您是否曾經深入研究 JavaScript 程式碼並想知道如何檢查密鑰是否存在?在這篇部落格中,解釋了 4 種不同的方法。
JavaScript 很神奇,不是嗎?它使網站具有互動性和活力。它最酷的功能之一是時間事件。如果這聽起來很技術性,請不要擔心;我會分解它。
掌握JavaScript強大的拼接方法!了解如何輕鬆新增、刪除和取代陣列元素。透過這個終極指南簡化您的程式碼。
儘管 JavaScript 有其怪異之處,但它......令人驚嘆。它可以讓您建立整個應用程式、使網站具有互動性,甚至可以控制機器人!這有點瘋狂,但這就是它的魅力的一部分。
JavaScript 教會我們耐心,讓我們笑(和哭),並最終完成工作。擁抱怪異。
以上是JavaScript 中的瘋狂事物:愛它還是恨它的詳細內容。更多資訊請關注PHP中文網其他相關文章!