Before Coding [10] - js學習前的準備

必備知識:

  • 對互聯網和萬維網 (WWW) 有基本的認識。
  • 熟悉HTML。

## JavaScript 簡介

JavaScript 是一門跨平臺、面向對象的輕量級腳本語言。 在主機環境中, JavaScript 能夠通過連接環境對象而實現可控制編譯。

JavaScript 內置了一個包含一系列對象的標準庫,比如數組、日期、數學和一個語言元素核心集合包括操作符,流程控制符以及語句等。JavaScript 的核心部分可以通過組合已有語言核心對象來擴展語言以適應不同用途,例如:

  • 客戶端的 JavaScript 通過提供控制瀏覽器及其文檔對象模型(DOM)的對象來擴展語言核心。例如:客戶端版本直接支持應用將元素放在在HTML表單中并且支持響應用戶事件比如鼠標點擊、表單提交和頁面導航。
  • 服務端的 JavaScript 則通過提供有關在服務器上運行 JavaScript 的對象來可擴展語言核心。例如:服務端版本直接支持應用和數據庫通信,提供應用不同調用間的信息連續性,或者在服務器上執行文件操作。

服務端的 JavaScript 通常使用 Node.js 技術。Node.js 是一個基于 Chrome V8 引擎的 JavaScript 運行環境。Node.js 使用了一個事件驅動、非阻塞式 I/O 的模型,使其輕量又高效。Node.js 的包管理器 npm,是全球最大的開源庫生態系統。

## JavaScript 和 Java

JavaScript 和 Java 有一些共性但是在另一些方面有著根本性區別。JavaScript 名稱上酷似 Java,但是并****沒有Java 的靜態類型和強類型檢查特性。****

與 Java 通過聲明式構建類的編譯時系統不同,JavaScript 采用基于少量的數據類型如數字、布爾、字符串值的運行時系統。JavaScript 擁有基于原型的對象模型提供的動態繼承,也就是說,獨立對象的繼承是可以改變的。 ****JavaScript 支持匿名函數,函數也可以作為對象的屬性執行。****

與 Java 相比,Javascript 是一門形式自由的語言。****你不必聲明所有的變量,類和方法。你不必關心方法是否是 共有、私有或者受保護的,也不需要實現接口。無需顯式指定變量、參數、方法返回值的數據類型。****

Java 是基于類的編程語言,設計的初衷就是為了快速執行和類型安全的。類型安全,舉例來說,你不能將一個Java 整數變量轉化為一個對象引用,或者由J ava 字節碼訪問專有存儲器。Java 基于類的模型,意味著程序包含專有的類及其方法。Java 的類繼承和強類型要求緊耦合的對象層級結構。這些要求使得 Java 編程比 JavaScript 要復雜的多。

相比之下,JavaScript 語句精簡、擁有動態類型,為更多開發者提供了一種語法簡單、內置功能強大以及用最小需求創建對象的編程工具。

具體對比如下表:

JavaScript Java
面向對象。不區分對象類型。通過原型機制繼承,任何對象的屬性和方法均可以被動態添加。 基于類系統。分為類和實例,通過類層級的定義實現繼承。不能動態增加對象或類的屬性或方法。
變量類型不需要提前聲明(動態類型)。 變量類型必須提前聲明(靜態類型)。
所有對象均為實例。 類和實例是不同的事物。
通過構造器函數來定義和創建一組對象。 通過類定義來定義類;通過構造器方法來實例化類。
通過 new 操作符創建單個對象。 相同。
指定一個對象作為原型并且與構造函數一起構建對象的層級結構 通過類定義來定義現存類的子類,從而構建對象的層級結構。
遵循原型鏈繼承屬性。 遵循類鏈繼承屬性。
構造器函數或原型指定初始的屬性集。允許動態地向單個的對象或者整個對象集中添加或移除屬性。 類定義指定類的所有實例的所有屬性。無法在運行時動態添加屬性。

## 開發者工具

Browsers

因為不同瀏覽器解析出的 HTML 、CSS 與 js 有不同,各個瀏覽器的兼容性不一樣,所以在瀏覽器的選擇上,推薦使用 Google 的 ****Chrome 瀏覽器****或者 Mozilla 的 ****FireFox 瀏覽器****。

Chrome vs FireFox

而 FireFox 內置了兩款非常棒的工具用來實驗 JavaScript:瀏覽器控制臺代碼草稿紙,但是 Chrome 等瀏覽器只有開發者控制臺(按 F12 可以調出開發者控制臺),并沒有代碼草稿紙,所以在編寫成段 js 代碼的時候就顯得有些麻煩。但是 FireFox 提供了代碼草稿紙,對于初學者而言很方便的去學習 js 。(當然啦,還有很多種方法可以運行 js 的,比如可以使用 NodeJS 的命令行工具去運行編寫好的 js 文件。)

Scratchpad

筆者習慣于使用 Chrome,所以以后的開發環境均是基于 Chrome 環境的,FireFox 兼容性與 Chrome 相當,所以使用 FireFox 也可以。但是 Chrome 的官網被墻了,所以下載比較麻煩,可以參考我的另一篇離線下載 Chrome 的教程——下載chrome各版本離線安裝包 | Airing的博客

開發者控制臺

關于開發者工具的具體使用,請參考:Chrome 開發工具指南 | 極客學院

## Hello World

學習 JavaScript 的第一步,打開瀏覽器的代碼調試器嘗試寫你的第一個 JavaScript 版本的“Hello world”程序。

function greetMe(user) {
  return "Hi " + user;
}

greetMe("Airing"); // "Hi Airing"

Scratchpad(代碼草稿紙)中選擇要執行的代碼,然后點擊快捷鍵 Ctrl+R 就可以在瀏覽器中看到選中代碼的執行結果。

在接下來的章節里,該指南將介紹 JavaScript 的語法以及語言特性,屆時你將可以使用它編寫更加復雜的程序。

原文:《學習前的準備》(From 《Before Coding》

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,791評論 6 545
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,795評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,943評論 0 384
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 64,057評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,773評論 6 414
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,106評論 1 330
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,082評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,282評論 0 291
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,793評論 1 338
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,507評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,741評論 1 375
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,220評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,929評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,325評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,661評論 1 296
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,482評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,702評論 2 380

推薦閱讀更多精彩內容