首頁 web前端 js教程 JavaScript程式設計中容易出BUG的幾點小知識

JavaScript程式設計中容易出BUG的幾點小知識

May 16, 2016 pm 04:16 PM
bug javascript 程式設計

這篇文章主要介紹了JavaScript程式設計中容易出BUG的幾點小知識,本文總結了8條小知識,這些小知識如果弄不明白,會在程式設計中給你惹麻煩出BUG,需要的朋友可以參考下

JavaScript是如今最受歡迎的程式語言之一,但受歡迎同時就是該語言本身的各種特性帶來的副作用,無論該語言多美妙,每天還是有成千上萬的程式設計師弄出一堆bug。先不要嘲笑別人,或許你也是其中之一。

給你一個例子,下面是幾個簡短的完全有效的JS片段(你可以在你的控制台上試驗一下):

typeof NaN === 'number' // true
 
Infinity === 1/0        // true
0.1 + 0.2 === 0.3       // false,前面加括号也一样
"3" + 1                 // '31'  
"3" - 1                 // 2
登入後複製

你還相信自己的JavaScript嗎?

1、JS最小的值

Number.MIN_VALUE > 0; //true
登入後複製

Number.MIN_VALUE用於JavaScript可以表達的最小值,為5e-324,然而是JS中最接近0的一個數

2、字串連接

("foo" + + "bar") === "fooNaN"  //true
"why I am " + typeof + ""       // why I am number
登入後複製

JS解析成「foo」 ( “bar”), 這將會把「bar」轉成一個數字

3、parseInt 函數

parseInt('06'); // 6
parseInt('08'); // 0  注意,谷歌新版已修正
parseInt(null, 24) === 23 // true
登入後複製

4、null是不是object

typeof null  // object
null instanceof Object  // false
登入後複製
4.null是不是object

function myjson()
{
   return
   [
     2
   ]
}
myjson();  // undefined
登入後複製

 012  == 12  // false
'012' == 12  // true
 "3" + 1     // '31'
 "3" - 1     // 2
0.1 + 0.2 == 0.3 // false
0.1 + 0.7 == 0.8 // false
0.2 + 0.7 == 0.9 // false
9999999999999999 // 10000000000000000
9999999999999999-1 //10000000000000000
111111111111111111111 // 111111111111111110000
登入後複製

function hello(what) {
     alert(arguments[0]);    //vicky
     what = "world";
     return "Hello, " + arguments[0] + "!";
}
hello("vicky"); //"Hello, world!"
登入後複製

NaN === NaN;   // false
[] == false;   // true
"" == false;   // true
null == false; // false
[] == ![]      // true
window.window == window  // true
window.window === window // false,有些浏览器是true
window == document       // true,有些浏览器是false
("0" && {}) == 0 // false
(0 && {}) == 0   // true
0 == "0"         // true
[] == 0          // true
登入後複製
5、return回傳內容

return回傳的內容必須和return在同一行6、奇怪的數字7、詭異的參數8、讓人頭大的等號以上就是本章的全部內容,更多相關教學請造訪JavaScript影片教學!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

使用正規表示式去除 PHP 數組中的重複值 使用正規表示式去除 PHP 數組中的重複值 Apr 26, 2024 pm 04:33 PM

使用正規表示式從PHP數組中移除重複值的方法:使用正規表示式/(.*)(.+)/i匹配並取代重複項。遍歷數組元素,使用preg_match檢查匹配情況。如果匹配,請跳過值;否則,將其添加到無重複值的新數組中。

蘋果iOS18bug匯總 蘋果iOS18bug匯總 Jun 14, 2024 pm 01:48 PM

隨著蘋果WWDC發表會2024圓滿落幕,不僅揭曉了macos15,其中最受關注的還是蘋果iOS18新系統的更新,雖然有很多新功能出現,但是作為蘋果iOS18首版不免讓人糾結是否有必要升級蘋果iOS18,在最新發表的蘋果iOS18中又有哪些BUG存在呢?經過真實的使用測評,以下是蘋果iOS18bug匯總,一起來看看。目前有許多iPhone用戶都搶先升級到了iOS18.但各種系統Bug讓人難受。有部落客表示,升級iOS18要謹慎,因為「Bug多到飛起」。部落客表示,如果你的iPhone是

程式設計是乾啥的,學了有什麼用 程式設計是乾啥的,學了有什麼用 Apr 28, 2024 pm 01:34 PM

1、程式設計可用於開發各種軟體和應用程序,包括網站、手機應用程式、遊戲和數據分析工具等。它的應用領域非常廣泛,幾乎涵蓋了所有行業,包括科學研究、醫療保健、金融、教育、娛樂等。 2.學習程式設計可以幫助我們提升問題解決能力和邏輯思考能力。在程式設計過程中,我們需要分析和理解問題,找出解決方案,並將其轉換為程式碼。這種思維方式能夠培養我們的分析和抽象能力,提升我們解決實際問題的能力。

使用 Golang 建立基於瀏覽器的應用程式 使用 Golang 建立基於瀏覽器的應用程式 Apr 08, 2024 am 09:24 AM

使用Golang建立基於瀏覽器的應用程式Golang結合JavaScript建構了動態的前端體驗。安裝Golang:造訪https://golang.org/doc/install。設定Golang專案:建立一個名為main.go的檔案。使用GorillaWebToolkit:新增GorillaWebToolkit程式碼以處理HTTP請求。建立HTML模板:在templates子目錄中建立index.html,這是主模板。

C++ 程式設計謎題片段:激發思維,提升程式設計水平 C++ 程式設計謎題片段:激發思維,提升程式設計水平 Jun 01, 2024 pm 10:26 PM

C++程式設計謎題涵蓋斐波那契數列、階乘、漢明距離、陣列最大值和最小值等演算法和資料結構概念,透過解決這些謎題,可以鞏固C++知識,提升演算法理解和程式設計技巧。

使用 Python 解決問題:作為初學者,解鎖強大的解決方案 使用 Python 解決問題:作為初學者,解鎖強大的解決方案 Oct 11, 2024 pm 08:58 PM

Python 讓初學者能夠解決問題。

編碼的關鍵:為初學者釋放 Python 的力量 編碼的關鍵:為初學者釋放 Python 的力量 Oct 11, 2024 pm 12:17 PM

Python透過其易學性和​​強大功能,是初學者的理想程式設計入門語言。其基礎包括:變數:用於儲存資料(數字、字串、列表等)。資料型態:定義變數中資料的型態(整數、浮點數等)。運算符:用於數學運算和比較。控制流程:控製程式碼執行流程(條件語句、迴圈)。

使用golang的錯誤包裝和展開機制進行錯誤處理 使用golang的錯誤包裝和展開機制進行錯誤處理 Apr 25, 2024 am 08:15 AM

Go中的錯誤處理包括包裝錯誤和展開錯誤。包裝錯誤允許用一個錯誤類型包裝另一個,提供更豐富上下文的錯誤。展開錯誤遍歷巢狀錯誤鏈,找到最底層錯誤,方便除錯。透過結合這兩種技術,可以有效處理錯誤條件,提供更豐富的錯誤情境和更好的除錯能力。

See all articles