js概念熟悉
首先了解一下編程語言
編程語言(programming language)(計(jì)算機(jī)語言)是人和計(jì)算機(jī)交流的一種語言烁巫。
編程語言的作用:
作用:
主要用于處理日常數(shù)據(jù)
其實(shí)辰企,編程語言生活中無處不在,如使用的聊天軟件
javaScript 簡介
JavaScript概念:基于對(duì)象和事件驅(qū)動(dòng)淆院,并且具有相對(duì)安全性的解釋型的客戶端腳本語言
具有面向?qū)ο竽芰?/strong>:js一開始就是基于對(duì)象的一門語言,不像php從面向過程慢慢過渡到面向?qū)ο蟮木涔撸琷s中有很多內(nèi)置對(duì)象土辩,像window location對(duì)象...無須定義就可以使用支救。
解釋型:直接讀代碼而且運(yùn)行,不像java,需要編譯成一個(gè)點(diǎn)class文件拷淘,然后再執(zhí)行那個(gè)class文件各墨。
事件驅(qū)動(dòng):js大部分操作是基于瀏覽器的,比如你要點(diǎn)擊一下頁面启涯,點(diǎn)擊一下這個(gè)按鈕贬堵,鼠標(biāo)選中這段文本才觸發(fā)一段JavaScript代碼的執(zhí)行。
相對(duì)安全性: 它沒有一些修改文件和刪除文件等一些惡意操作结洼。(也是其魅力所在)
客戶端:不需要服務(wù)器端就能執(zhí)行的 黎做,當(dāng)你打開一個(gè)瀏覽器,打開一個(gè)網(wǎng)站松忍,它的網(wǎng)頁存放到你本地的臨時(shí)空間蒸殿,才去執(zhí)行你的js代碼。所以他是在本地執(zhí)行的挽铁,所以叫客戶端伟桅,服務(wù)端就不叫本地了,而是叫遠(yuǎn)程端
腳本語言: 不像java需要一個(gè)JDK環(huán)境叽掘,還有.net需要一個(gè)SDK環(huán)境才能運(yùn)行,他只是一個(gè)腳本語言楣铁,只需要支持他的瀏覽器即可,js是一種弱類型語言,瀏覽器內(nèi)部已經(jīng)內(nèi)置了……
JavaScript是一門強(qiáng)大的編程語言更扁,它既是一門非常簡單的語言盖腕,又是一門非常復(fù)雜的語言。
此處浓镜,推薦兩本書:犀牛書溃列,javascript高級(jí)程序設(shè)計(jì)
Javascript的作用
表單數(shù)據(jù)驗(yàn)證:表單數(shù)據(jù)驗(yàn)證是JavaScript最基本也是最能體現(xiàn)效率的功能。驗(yàn)證用戶輸入的信息是否符合要求膛薛,早期主要用于表單驗(yàn)證听隐,在網(wǎng)絡(luò)極差的時(shí)候。
動(dòng)態(tài)HTML(即DHTML):動(dòng)態(tài)HTML指不需要服務(wù)器介入而動(dòng)態(tài)變化的網(wǎng)頁效果哄啄,包括動(dòng)態(tài)內(nèi)容雅任、動(dòng)態(tài)樣式、動(dòng)態(tài)布局等咨跌。通過js來判定屏幕的大小沪么,使用js動(dòng)態(tài)的實(shí)現(xiàn)css的引入。
用戶交互:用戶交互指根據(jù)用戶的不同操作進(jìn)行的響應(yīng)處理锌半。例如:聯(lián)動(dòng)菜單等禽车。三級(jí)聯(lián)動(dòng)菜單,鼠標(biāo)hover上去的下拉菜單
數(shù)據(jù)綁定:HTML中表單和表格能夠以.txt文件定義的數(shù)據(jù)源,通過對(duì)位于服務(wù)器端的數(shù)據(jù)源文件的訪問殉摔,便可以將數(shù)據(jù)源中的數(shù)據(jù)傳送到客戶端州胳,并將這些數(shù)據(jù)保存在客戶端。通過js引入數(shù)據(jù)钦勘,數(shù)組陋葡,json格式亚亲。
少量數(shù)據(jù)查找:能夠?qū)崿F(xiàn)在當(dāng)前網(wǎng)頁中進(jìn)行字符串的查找和替換彻采。增刪改查都可以。
AJAX核心技術(shù):AJAX即異步
JavaScript
+XML捌归。該對(duì)象提供一種支持異步請(qǐng)求的技術(shù)肛响,使客戶端可以使用JavaScript向服務(wù)器提出請(qǐng)求并處理響應(yīng),但并不影響用戶在客戶端的瀏覽惜索。
實(shí)現(xiàn)js效果的兩個(gè)步驟:
1.引入js代碼
2.輸出js的內(nèi)容
js版本:ES5(指2014年以前的版本)特笋, ES6 , ES7(當(dāng)前最新的版本)
四種引入js代碼的方式
1.內(nèi)嵌式
- 語法:
<script>
js代碼</script>
- 位置:網(wǎng)頁中的任意位置
寫在body結(jié)束標(biāo)簽前巾兆,<script>
js代碼</script>
可以寫在head
標(biāo)簽內(nèi)的script
標(biāo)簽內(nèi)
2.外鏈?zhǔn)剑ㄍ饴?lián)式)
- 在外部創(chuàng)建一個(gè).js的文件猎物,里面寫js代碼
- 語法:直接通過
script
標(biāo)簽的src
屬性引入.js的文件
<script src="./my.js"></script>
3.在html標(biāo)簽中引入事件屬性來綁定js代碼
- 語法: 在標(biāo)簽上寫
- 如:
<div onclick = "alert('點(diǎn)擊了')"> </div>
-
事件屬性:
a.鼠標(biāo)事件:- onclick:鼠標(biāo)單擊事件,
- onmouseover:鼠標(biāo)的移入事件角塑,
- onmouseout:鼠標(biāo)的移出事件
b.鍵盤事件:
4.使用a標(biāo)簽中href屬性的偽協(xié)議操作:
- 語法:通過
a
標(biāo)簽
<a href="javascript:alert('你點(diǎn)擊了')"></a>
注意事項(xiàng):
1.內(nèi)嵌式和外鏈?zhǔn)剑?/h5>
- script標(biāo)簽上的type屬性是一個(gè)可選值蔫磨。
<script type="text/javascript">
js代碼
</script>
<script type="text/javascript">
js代碼
</script>
h5中默認(rèn)值就是type="text/javascript"
,所以可以不寫
script標(biāo)簽內(nèi)只能寫js代碼
不能在內(nèi)嵌式中使用
src
屬性外鏈?zhǔn)?code>script標(biāo)簽內(nèi)不能寫js代碼
錯(cuò)誤原因:外部引入的js代碼會(huì)覆蓋script
標(biāo)簽里面的js代碼圃伶,只顯示外鏈?zhǔn)降膉s代碼js代碼的引入位置
a.一般都在head
標(biāo)簽內(nèi)
b.可以寫在body
結(jié)束標(biāo)簽之前-
運(yùn)用場(chǎng)景
a.內(nèi)嵌式主要用于測(cè)試
b.外鏈?zhǔn)街饕糜趯?shí)際項(xiàng)目中
2.第三種和四種方式一般不使用
a.html標(biāo)簽內(nèi)通過事件屬性來綁定js代碼堤如,主要針對(duì)當(dāng)前標(biāo)簽綁定js生效,必須通過事件來執(zhí)行js文件
b.在a標(biāo)簽中href屬性為協(xié)議窒朋,<a href="javascript:js代碼">文字</a>
的方式
javascript:表示為協(xié)議搀罢,一般都使用小寫
寫法:
a.javascript:js代碼
b.javascript:void()
一般用于禁止a標(biāo)簽跳轉(zhuǎn)。
輸出js代碼的三種方式
1.網(wǎng)頁中輸出指定內(nèi)容
- 語法:
document.write("輸出內(nèi)容");
a. 可以輸出中文侥猩、英文
<script>
document.write("今天天氣也很不錯(cuò)")
</script>
b.可以輸出html代碼
<script>
// document.write("今天天氣也很不錯(cuò)");
document.write(" <h2> 標(biāo)題 </h2>")
</script>
顯示的結(jié)果是被h2修飾的標(biāo)題
2.彈出框
- 語法:
alert("內(nèi)容")榔至;
字符串用引號(hào)引起來,變量不用引號(hào)欺劳。
3.在控制臺(tái)中輸出
- 語法:
console.log("文字");
打印日志
console.debug("");
一般用于調(diào)試
在控制臺(tái)中輸出是使用最多的方式唧取。
輸出js代碼的作用:
編程中會(huì)產(chǎn)生很多相關(guān)數(shù)據(jù),為了驗(yàn)證數(shù)據(jù)是否復(fù)合要求杰标,必須通過輸出的形式來查看數(shù)據(jù)的正確性