JavaScript概述
JavaScript學習目標
- 目標水平:入門級別(會使用JavaScript,不求精通)
- 當前水平:Python,C與C++編程基礎,無Java編程基礎,主業為數字IC前端設計與驗證
- 選用教程:廖雪峰JavaScript教程
JavaScript簡介
我經常講JavaScript戲稱為雷峰塔,與Java這個雷鋒并沒有什么關系,是一款常用與Web編程的腳本語言。
為什么起名叫JavaScript?原因是當時Java語言非常紅火,所以網景公司希望借Java的名氣來推廣,但事實上JavaScript除了語法上有點像Java,其他部分基本上沒啥關系。
一般的瀏覽器即可支持JavaScript的運行,最早這個語言適用于給網頁添加一些動態的動畫交互之類的東西,后來這個語言逐漸發展到現在node.js已經打通了后端,這個語言也變成了一個全能型腳本語言,至于作為一個數字IC硬件工程師要學習這個...主要是接觸一下web編程,然后就是
簡單粗暴的回答就是:因為你沒有選擇。在Web世界里,只有JavaScript能跨平臺、跨瀏覽器驅動網頁,與用戶交互。
JavaScript開發環境搭建
簡單的JavaScript腳本使用瀏覽器即可運行,不需要搭建環境,不過還是選擇了個Node.js的環境吧,畢竟還是比較適應,這個直接下載安裝即可,教程可以點這里,如果想要搭建一個機遇Sublime的環境可以參照這個
JavaScript基本語法
結尾的分號
JavaScript比較奇特的一點就是雖然并不要求在結尾添加分號;,但是瀏覽器執行引擎會在語句結尾自動添加;,這種行為可能會導致語義異常
注意:讓JavaScript引擎自動加分號在某些情況下會改變程序的語義,導致運行結果與期望不一致。在本教程中,我們不會省略;,所有語句都會添加;。
注釋
JavaScript的注釋與C和Verilog相同,使用//
和/*...*/
分別實現行注釋和塊注釋
數據結構
基本數據結構
JavaScript常用的有Number,字符串和布爾值三種基本數據結構
- Number:數字,不區分浮點數與定點數,特殊的值為NaN和Infinity,分別表示無法計算的數和超過范圍的數,其中NaN與任何數均不相等,包括NaN
- 字符串:使用
" "
或' '
包裹的內容,與Python字符串相似 - 布爾值:僅可取True和False,與其他語言的布爾值相似
另外,還有些需要注意的
由于JavaScript這個設計缺陷,不要使用
==
比較,始終堅持使用===
比較。
這是由于==
是將數據類型轉換為一致后再進行比較,而===
的比較包括數據類型的比較
唯一能判斷NaN的方法是通過isNaN()函數
數組與對象
數組就是一組數的集合,使用[]定義,和Python數組類似
var test = [1,2,"test"]
console.log(test[0])
console.log(test[1])
console.log(test[2])
字典是鍵-值的對應,類似于Python的字典
var test_dict = {
"a":1,
"b":"data"
}
console.log(test_dict["a"])
console.log(test_dict["b"])
變量
JavaScript的變量就是標準的動態語言變量,不綁定數據結構,但是最好在使用前使用var聲明,否則會被視為全局變量產生不必要的麻煩。有趣的是變量名允許使用$
字符和中文
變量名也可以用中文,但是,請不要給自己找麻煩。