愛伊米

前端-JavaScript基礎知識

作者:程式設計碼農

簡介

什麼是JavaScript?

JavaScript ( JS ) 是一種具有函式優先的輕量級,解釋型或即時編譯型的程式語言。

函式優先:程式語言中的函式可以被當作引數傳遞給其他函式,可以作為另一個函式的返回值,還可以被賦值給一個變數。

解釋型:對標編譯型語言,編譯型需預先將原始碼編成中間碼,再由直譯器解釋執行。解釋型不需要預先編譯,在程式在執行時才由直譯器翻譯執行。

JavaScript 的標準是ECMAScript截至 2012 年,所有的現代瀏覽器都完整的支援 ECMAScript 5。1,舊版本的瀏覽器至少支援 ECMAScript 3 標準。

我們所熟知的ES6是在2015年6月17日,由ECMA國際組織釋出的ECMAScript 的第六版,該版本正式名稱為 ECMAScript 2015。

https://developer。mozilla。org/zh-CN/docs/Web/JavaScript/Language_Resources

使用場景

網際網路的興起,JavaScript的使用範圍已經超出了瀏覽器。

瀏覽器平臺

。HTML5的出現,瀏覽器本身的功能越來越強,JavaScript 因此得以呼叫許多系統功能,如操作本地檔案、操作圖片、呼叫攝像頭和麥克風,可以開發更多富客戶端產品。

服務端應用

。node的出現使得 JavaScript 可以用於開發伺服器端應用,也使得JavaScript成為一門可以同時開發前後端的語言。

移動應用

。js也正在成為手機應用的開發語言,比如:React Native 專案則是將 JavaScript 寫的元件,編譯成原生元件。

桌面應用

。JavaScript甚至可以開發桌面應用,比如electronjs。

資料庫操作

。在一些Nosql資料都是支援JavaScript作為操作語言,像mongodb。

基本語法

變數

變數是對值的引用,JavaScript 的變數名區分大小寫,和是兩個不同的變數。

變數提升

你可能很奇怪,執行下面程式碼沒有報錯。由於JavaScript引擎工作方式是先解析程式碼,獲取所有被宣告的變數,換句話說就是所有的變數的宣告語句,都被提升到程式碼的頭部。

變數規則

第一個字元任意 Unicode 字母(包括英文字母和其他語言的字母),以及美元符號($)和下劃線(_)

第二個字元及後面的字元,除了 Unicode 字母、美元符號和下劃線,還可以用數字0-9。

另外中文也可以宣告變數,下面保留字除外

arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void、while、with、yield。

語句

JavaScript程式的執行單位行,一般情況一行就是一條語句,如果一行要寫多個語句我們使用表示語句結束。

註釋

區塊

JavaScript使用大括號將多條語句包裹起來表示一個區塊,注意宣告的變數不構成單獨的作用域,這裡區別於java。

條件語句

switch 結構

注意區別 ==與===

使用==比較兩個變數時,會發生隱式型別轉換,例如,自動將字串型別轉換為數字型別。

為了避免隱式轉換帶來的問題,我們都是用=== 進行嚴格進行比較。

三元運算子

三元運算子也可以用於邏輯判斷。

迴圈語句

for迴圈語句

初始化表示式:確定迴圈變數的初始值,只在迴圈開始時執行一次。

條件表示式:每輪迴圈開始時,都要執行這個條件表示式,只有值為真,才繼續進行迴圈。

遞增表示式:每輪迴圈的最後一個操作,通常用來遞增迴圈變數。

break 和 continue

語句用於跳出程式碼塊或迴圈,是結束當前迴圈,跳到下一次。

資料型別

null和undefined

變數沒有初始化:undefined。

變數不可用:null。

數值

整數和浮點數,JavaScript 內部,所有數字都是以64位浮點數形式儲存,即使整數也是如此。

數值精度:根據國際標準 IEEE 754,JavaScript 浮點數的64個二進位制位,從最左邊開始,是這樣組成的。

第1位:符號位,表示正數,表示負數

第2位到第12位(共11位):指數部分

第13位到第64位(共52位):小數部分(即有效數字)

數值範圍:64位浮點數的指數部分的長度是11個二進位制位,意味著指數部分的最大值是2047(2的11次方減1)超出的範圍不能表示。

數值進位制:

十進位制:沒有前導0的數值。

八進位制:有字首或的數值,或者有前導0、且只用到0-7的八個阿拉伯數字的數值。

十六進位制:有字首或的數值。

二進位制:有字首或的數值。

NaN

是 JavaScript 的特殊值,表示“非數字”(Not a Number),主要出現在將字串解析成數字出錯的場合。

字串

由單雙引號包裹在一起的字元,就是字串。

單引號字串的內部,可以使用雙引號。雙引號字串的內部,可以使用單引號。

轉義符:

:null()

:後退鍵()

:換頁符()

:換行符()

:回車鍵()

:製表符()

:垂直製表符()

:單引號()

:雙引號()

:反斜槓()

字符集:javaScript 使用 Unicode 字符集。JavaScript 引擎內部,所有字元都用 Unicode 表示。

物件

函式

function 關鍵字宣告。

Function 建構函式

函式名提升:JavaScript 引擎將函式名視同變數名,所以採用命令宣告函式時,整個函式會像變數宣告一樣,被提升到程式碼頭部。

JavaScript函式知識點還是蠻多的,後面針對函式這一塊單獨整理。

陣列

陣列屬於一種特殊的物件。

length:JavaScript 使用一個32位整數,儲存陣列的元素個數。這意味著,陣列成員最多隻有 4294967295 個(2^32 - 1)個,也就是說屬性的最大值就是 4294967295。

陣列遍歷

小結

本文要點回顧,歡迎留言交流。

JavaScript介紹。

JavaScript基本語法。

資料型別。