0042 JavaScript是什么,有什么用途

第2章學(xué)習(xí)了如何編寫靜態(tài)內(nèi)容的網(wǎng)站,并將網(wǎng)站部署到云服務(wù)器,然后通過域名來訪問網(wǎng)站。
雖然能夠編寫出漂亮的靜態(tài)內(nèi)容網(wǎng)頁,但是很多時(shí)候,網(wǎng)頁光有靜態(tài)內(nèi)容還不夠,要實(shí)現(xiàn)一些用戶和瀏覽器頁面的互動(dòng)的時(shí)候,僅僅靠純粹的靜態(tài)內(nèi)容顯示,就無法實(shí)現(xiàn)了。比如,要做一個(gè)網(wǎng)頁游戲“連連看”,光靠顯示靜態(tài)內(nèi)容就無法實(shí)現(xiàn)了。
這時(shí)候,就需要一門語言,來實(shí)現(xiàn)用戶和瀏覽器的交互,第3章就來學(xué)習(xí)實(shí)現(xiàn)這個(gè)功能的一門腳本語言:JavaScript。

JavaScript是什么

學(xué)哥給JavaScript的定義是:JavaScript是一門可以在客戶瀏覽器中編輯HTML內(nèi)容和樣式的解釋執(zhí)行的腳本語言。

因此它有如下特征:
JavaScript代碼要插入到HTML內(nèi)容中才能由瀏覽器解釋執(zhí)行。
它是一種輕量級的編程腳本語言,比較簡單容易學(xué)。
它的常見用途是:對事件作出反應(yīng)、改變HTML內(nèi)容或樣式、驗(yàn)證輸入、提交數(shù)據(jù)和服務(wù)器交互。

JavaScript的Helloworld程序

為了最快的給大家一個(gè)直觀認(rèn)識,按照老規(guī)矩,來做一個(gè)JavaScript的Helloworld程序。
前面說了,Javascript程序是要寫在HTML代碼當(dāng)中的,因此先來編寫一個(gè)HTML文件。
testjs.html代碼如下:

3-1-1.jpg

瀏覽器中打開這個(gè)靜態(tài)網(wǎng)頁,可以看到顯示了內(nèi)容:

3-1-2.jpg

接下來修改testjs.html代碼,增加如下3行代碼:

3-1-3.jpg

關(guān)閉瀏覽器窗口,重新打開頁面:

3-1-4.jpg

可以看到,網(wǎng)頁彈出了一個(gè)消息窗口,顯示了“Hello world,這是一個(gè)JavaScript!”這段文本。
點(diǎn)擊確定按鈕之后,頁面才顯示正常的網(wǎng)頁內(nèi)容。
這里的3行代碼就是JavaScript代碼。

JavaScript代碼可以放head或body中

上面的HTML代碼中,將JavaScript代碼放在了body標(biāo)簽當(dāng)中,其實(shí),JavaScript代碼還可以放在head標(biāo)簽當(dāng)中。
修改testjs.html代碼,將這3行代碼從body標(biāo)簽移動(dòng)到head標(biāo)簽當(dāng)中。
testjs.html代碼如下:

3-1-5.jpg

關(guān)閉瀏覽器窗口,重新打開頁面:

3-1-6.jpg

可以看到,網(wǎng)頁同樣顯示了消息窗口,和剛才的效果一樣。

總結(jié)一下:
JavaScript代碼可以放置于head或者body之中;
JavaScript代碼必須位于<script>和</script>標(biāo)簽之間;
瀏覽器會解釋執(zhí)行script標(biāo)簽之間的JavaScript代碼。

對事件作出反應(yīng)

JavaScript最常見的用途就是對事件作出反應(yīng),來響應(yīng)用戶的操作請求。
刪除掉前面的alert代碼。然后在網(wǎng)頁中增加一個(gè)按鈕,點(diǎn)擊按鈕的時(shí)候執(zhí)行一段JavaScript代碼。
testjs.html代碼如下:

3-1-7.jpg

刷新頁面:

3-1-8.jpg

可以看到,網(wǎng)頁上多了一個(gè)按鈕,點(diǎn)擊這個(gè)按鈕:

3-1-9.jpg

可以看到,觸發(fā)了一個(gè)點(diǎn)擊事件,執(zhí)行了這段JavaScript代碼,網(wǎng)頁彈出了一個(gè)提示信息窗口。
這里暫時(shí)不深入講解,后續(xù)會有很多詳細(xì)的例子來深入說明。

改變HTML內(nèi)容和樣式

JavaScript另一個(gè)常見的用途就是改變HTML內(nèi)容或者樣式。
修改網(wǎng)頁內(nèi)容,增加一個(gè)div,里面寫一段文字,文字顏色設(shè)置為紅色。
然后修改按鈕的點(diǎn)擊事件里面的JavaScript代碼如下:
testjs.html代碼如下:

3-1-10.jpg

刷新頁面:

3-1-11.jpg

點(diǎn)擊按鈕后結(jié)果如下:

3-1-12.jpg

可以看到達(dá)到了改變靜態(tài)內(nèi)容網(wǎng)頁的顯示內(nèi)容和樣式的目的,這個(gè)功能比起靜態(tài)內(nèi)容網(wǎng)頁又前進(jìn)了一大步了。

驗(yàn)證輸入

很多網(wǎng)頁是可以和服務(wù)器進(jìn)行數(shù)據(jù)交互的,在網(wǎng)頁上可以輸入一些內(nèi)容,點(diǎn)擊提交按鈕之后,可以將這些數(shù)據(jù)提交到服務(wù)器后臺程序,但是一般在提交之前,需要在客戶端瀏覽器上進(jìn)行一些驗(yàn)證工作,防止提交的數(shù)據(jù)不符合規(guī)范要求。這個(gè)時(shí)候一般就可以用JavaScript代碼來驗(yàn)證輸入內(nèi)容。
例如一個(gè)注冊網(wǎng)頁上對密碼的輸入長度要求至少要有6位,一般就會這樣寫:
testjs.html代碼如下:

3-1-13.jpg

刷新頁面:

3-1-14.jpg

在文本框輸入12345,然后點(diǎn)擊Check按鈕后結(jié)果如下:

3-1-15.jpg

在文本框輸入123456,然后點(diǎn)擊Check按鈕后結(jié)果如下:

3-1-16.jpg

可以看到JavaScript代碼可以進(jìn)行計(jì)算和邏輯判斷,根據(jù)不同的結(jié)果運(yùn)行不同的程序。
這里也不深入講解了,后續(xù)會有更多例子說明。

提交數(shù)據(jù)和服務(wù)器交互

網(wǎng)頁最重要的一個(gè)能力就是能夠和服務(wù)器后臺進(jìn)行交互,能夠?qū)⒂脩粼诰W(wǎng)頁上輸入的數(shù)據(jù)提交給服務(wù)器,能夠根據(jù)用戶輸入的內(nèi)容顯示不同的數(shù)據(jù)或者頁面,這樣的網(wǎng)頁就是動(dòng)態(tài)內(nèi)容網(wǎng)頁,這才能將網(wǎng)頁瀏覽器的功能無限擴(kuò)大,能夠?qū)崿F(xiàn)千變?nèi)f化的網(wǎng)站。
JavaScript就可以用來將網(wǎng)頁提交到服務(wù)器后臺程序。
例如下面這樣的代碼就可以將網(wǎng)頁提交:
<script>
document.forms[0].submit();
</script>
大家暫時(shí)不需要理解如何和服務(wù)器進(jìn)行交互,這個(gè)內(nèi)容將在下一章當(dāng)中進(jìn)行詳細(xì)說明。

下節(jié)課將說明JavaScript的常見語法格式。

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

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,781評論 1 92
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,734評論 25 708
  • 鐵溪,別在舞陽河發(fā)髻上的綠寶釵 鐵溪,鎮(zhèn)遠(yuǎn)古城的一個(gè)頓號 是誤入了《儒林外史》第43回的精彩故事,還是流連于鎮(zhèn)遠(yuǎn)古...
    重慶風(fēng)鈴閱讀 288評論 3 2
  • 昨天重新回味哥哥的電影《霸王別姬》,除了對劇情人物的感慨,更多了一些對命運(yùn),以及人生的思考。 (1)話說虞姬 虞姬...
    盧小侯閱讀 986評論 1 1
  • 1 .多路復(fù)用。不改http語義,方法,狀態(tài)碼,url及首部字段。對傳輸數(shù)據(jù)實(shí)現(xiàn)二進(jìn)制分幀傳輸,所有的通信在一個(gè)連...
    skoll閱讀 551評論 0 0