第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開發(fā)者教程

JavaScript 入門教程

什么是 JavaScript

JavaScript ( JS ) 是一種具有函數(shù)優(yōu)先的輕量級(jí),解釋型或即時(shí)編譯型的編程語(yǔ)言。(MDN)

JavaScript 是一種編程語(yǔ)言,主要參與構(gòu)建 Web 前端應(yīng)用。

1. JavaScript 的由來(lái)

早期的瀏覽器是不具備與用戶交互能力的,可以想象一下,在那個(gè)電話撥號(hào)上網(wǎng)的年代,帶寬只有 56Kbps,也就是意味著標(biāo)準(zhǔn)最高下載速率只有 8KB/s。

在這個(gè)速度下,表單提交就是噩夢(mèng)般的存在。

例如報(bào)名考試,就需要填寫非常多內(nèi)容,當(dāng)用戶花了十幾分鐘找各種資料填寫表單后,點(diǎn)擊提交就要等待十幾秒甚至更多。

假如這時(shí)表單信息出錯(cuò),如身份證沒核對(duì)仔細(xì)少了一位,整個(gè)頁(yè)面就會(huì)做刷新操作,表單需要重新填寫。

這是一個(gè)比較典型的場(chǎng)景。當(dāng)時(shí)最火的瀏覽器 Navigator 的開發(fā)公司 netscape 就因這些問(wèn)題,急需一個(gè)瀏覽器使用的腳本語(yǔ)言,讓運(yùn)行在瀏覽器上的網(wǎng)頁(yè)可以做一些交互。

netscape 因?yàn)橛羞@個(gè)需求,招聘了 Brendan Eich , Brendan Eich 進(jìn)公司后就開始研究使用 Scheme 語(yǔ)言作為在網(wǎng)頁(yè)中使用的腳本語(yǔ)言的可能性。

但是由于當(dāng)時(shí) Java 爆火,netscape 又在于開發(fā)了 Java 的 Sun 公司合作,就想讓這個(gè)腳本語(yǔ)言要足夠像 Java,但是又要比 Java 簡(jiǎn)單。

然后 Brendan Eich 就被指定開發(fā)這個(gè)“簡(jiǎn)易 Java”。

圖片描述

Brendan Eich

一段時(shí)間之后 JavaScript 也就誕生了。

后續(xù) netscapeJavaScript 交給了 ECMA 組織進(jìn)行標(biāo)準(zhǔn)化,編號(hào)為 262,也就是說(shuō)現(xiàn)在的 JavaScript 實(shí)際上是 ECMA-262 標(biāo)準(zhǔn)的實(shí)現(xiàn)。

2. 與 Java 的區(qū)別

通過(guò)JavaScript的由來(lái)可以知道,兩個(gè)語(yǔ)言本質(zhì)上沒有太大的關(guān)系,僅僅只為了讓他們像,才讓 JavaScript 的名字中有了 Java ,才讓他的內(nèi)部的一些設(shè)計(jì)機(jī)制像 Java。

事實(shí)上 JavaScript 上在設(shè)計(jì)上還融合了C語(yǔ)言的語(yǔ)法,Self語(yǔ)言的原型設(shè)計(jì)等。

3. JavaScript 的主要應(yīng)用

以下列舉的各個(gè)場(chǎng)景不僅僅是需要掌握 JavaScript ,還需要很多知識(shí)點(diǎn)與技術(shù)棧來(lái)共同協(xié)作完成,但是 JavaScript 是必不可少的技術(shù)棧。

3.1 網(wǎng)頁(yè)開發(fā)

網(wǎng)頁(yè)開發(fā)的基本三大件為 HTML、CSS、JavaScript,如果將 HTML 比作骨架,CSS 比作皮膚,那 JavaScript 就是可以讓骨架動(dòng)起來(lái),改變皮膚性狀的存在。

現(xiàn)代的前端應(yīng)用離不開 JavaScript ,隨著瀏覽器的性能越來(lái)越好,產(chǎn)品交互越來(lái)越復(fù)雜,JavaScript 的地位也越來(lái)越高。

表單驗(yàn)證、動(dòng)畫效果甚至 3D 應(yīng)用,均可以由 JavaScript 來(lái)完成。

使用 WebGL 制作的 3D 應(yīng)用,可以直接運(yùn)行在現(xiàn)代瀏覽器

3.2 服務(wù)端應(yīng)用開發(fā)

2009 年發(fā)布 Node.js 的發(fā)布,意味著前端程序員可以用較低的成本跨入服務(wù)端開發(fā)。

Node.js 提供了開發(fā)服務(wù)端所需要的特性,如 HTTP 服務(wù)、本地文件讀寫操作等。

開發(fā)者可以使用 JavaScript 語(yǔ)言開發(fā) Node.js 應(yīng)用。

圖片描述

Node.js

3.3 桌面應(yīng)用開發(fā)

Electron 是由 Github 開發(fā)的,可以使用 HTML、CSS、JavaScript 來(lái)構(gòu)建桌面應(yīng)用的開源庫(kù)。

使用Electron就可以讓前端開發(fā)者進(jìn)行桌面端應(yīng)用的開發(fā)。

Visual Studio CodeAtom、Skype 等應(yīng)用都是使用 Electron 開發(fā)的。

圖片描述

Electron

3.4 移動(dòng)端應(yīng)用開發(fā)

移動(dòng)端應(yīng)用也可以使用 JavaScript 進(jìn)行開發(fā),如 React Native 或者 Weex 等框架。

圖片描述

Weex 框架

4. 適合群體

本篇 Wiki 主要為 ECMAScript262 第五版內(nèi)容,適合初學(xué)者學(xué)習(xí)或者進(jìn)行知識(shí)點(diǎn)查閱。

5. 前置知識(shí)

章節(jié)中的例子可能會(huì)涉及部分 HTMLCSS 的知識(shí)點(diǎn),所以需要了解或者掌握一些 HTML、CSS 相關(guān)的內(nèi)容作為前置知識(shí)。