JavaScript是一種屬于網(wǎng)絡(luò)的腳本語(yǔ)言,廣泛應(yīng)用于Web開發(fā),常用來(lái)為網(wǎng)頁(yè)添加各式各樣的動(dòng)態(tài)功能。其日常用途如下:
1.在html頁(yè)面中嵌入動(dòng)態(tài)文本
2.對(duì)瀏覽器事件作出響應(yīng)
3.讀寫html元素
4.在數(shù)據(jù)提交到服務(wù)器之前驗(yàn)證數(shù)據(jù)
5.檢測(cè)訪客的瀏覽器信息
6.控制Cookies,包括創(chuàng)建和修改
7.基于Nodes.js技術(shù)進(jìn)行服務(wù)器端編程
腳本由單獨(dú)的script元素標(biāo)識(shí),可以在html文檔中編寫,也可由外部導(dǎo)入
JavaScript在HTML文檔中實(shí)現(xiàn)
<script>標(biāo)簽
HTML腳本位于<script>與</script>標(biāo)簽之間,腳本可置于head或body中。定義的函數(shù)通常放在head部分,或放在頁(yè)面底部.
JavaScript語(yǔ)言基礎(chǔ)
1.語(yǔ)法
1.1字面量(常量)
數(shù)字字面量
字符串字面量"beijing",'JavaScript'
表達(dá)式字面量
數(shù)組字面量[1,2 ,3 ]
對(duì)象字面量{ID:"PBXXXXXXXX",name:"nike",age:20}
函數(shù)字面量
1.2變量
使用var定義變量
var x;
x=1;
1.3語(yǔ)句
語(yǔ)句使用分毫隔離
1.4關(guān)鍵字
關(guān)鍵字用于標(biāo)識(shí)要執(zhí)行的動(dòng)作,關(guān)鍵字以字母,下劃線或$符號(hào)開始
1.5注釋
雙斜杠//
1.6數(shù)據(jù)類型
數(shù)字 字符串 數(shù)組 對(duì)象等
1.7函數(shù)
與C語(yǔ)言相似
1.8命名對(duì)大小寫敏感
2.語(yǔ)句
與C語(yǔ)言相同,分號(hào)分隔語(yǔ)句
3.變量
- 變量必須以字母或$和_開頭
- 未使用值來(lái)聲明的變量,其值為undefined
4.數(shù)據(jù)類型
JavaScript變量擁有動(dòng)態(tài)類型,即可以將不同類型的值賦予同一變量。
4.1字符串
使用單引號(hào)或雙引號(hào)進(jìn)行賦值
4.2數(shù)值
- JavaScript只有一種數(shù)字類型??梢詭?shù)點(diǎn)也可不帶。
- 可用科學(xué)計(jì)數(shù)法表示
4.3布爾
布爾型變量只有true和false兩個(gè)值
4.4數(shù)組
數(shù)組可以使用new Array()賦值語(yǔ)句申請(qǐng),后按分量賦值
var subject=new Array();
subject[0]="math";
subject[1]="physicis";
或者
var subject=new Array("math","physicis");
var subject=["math","physicis"];
數(shù)組下標(biāo)從0開始
4.5對(duì)象
對(duì)象由花括號(hào)分割。括號(hào)內(nèi)部,對(duì)象的屬性以名稱和值對(duì)形式定義
ver student={ID:"PBXXXXXXXX",name:"nike",age:20};
對(duì)象屬性尋址有兩種方式
name=student.name;
name=student["name"];
4.6undefined和null
undefined表示這個(gè)變量不含有值??赏ㄟ^(guò)將變量的值設(shè)置為null來(lái)清空變量。
4.7聲明變量類型
可使用new來(lái)聲明其類型
var x=new String;
5.對(duì)象
對(duì)象是有屬性和方法的數(shù)據(jù),屬性在數(shù)據(jù)類型中介紹過(guò),下面介紹訪問(wèn)對(duì)象方法
訪問(wèn)對(duì)象方法
| 屬性 | 值 |
|---|---|
| fullName | function() {return this.firstName + " " + this.lastName;} |
若直接訪問(wèn)對(duì)象屬性,將返回定義fullName的字符串
name=person.fullName;
可以通過(guò)以下方法創(chuàng)建對(duì)象方法
methodName:function(){code lines}
//example
fullName:function() {return this.firstName + " " + this.lastName;}
通過(guò)以下方法訪問(wèn)對(duì)象方法可以得到函數(shù)返回值
name=person.fullName();
6.函數(shù)
<html>
<head>
<meta charset="utf-8" />
<title>登錄界面</title>
<script>
function display()
{
alert("Welcome!");
}
</script>
</head>
<body>
<p>
<h1 style="font-family:Century">Baiduu</h1>
<button value="登陸" onclick="display()">登陸賬戶</button>
</p>
</body>
</html>
6.1語(yǔ)法
function必須小寫
function functionname(){執(zhí)行代碼}
6.2參數(shù)
<html>
<head>
<meta charset="utf-8" />
<title>登錄界面</title>
<script>
function display(firstname,lastname )
{
alert(lastname + firstname+", Welcome!");
}
</script>
</head>
<body>
<p>
<h1 style="font-family:Century">Baiduu</h1>
<button value="登陸" onclick="display('馬儒','唐')">登陸賬戶</button>
</p>
</body>
</html>
6.3返回值
return可以返回一個(gè)值,也可以用作退出函數(shù)的標(biāo)志。
<html>
<head>
<meta charset="utf-8" />
<title>登錄界面</title>
<script>
function display(firstname,lastname )
{
return (lastname + firstname + ", Welcome!");
}
</script>
</head>
<body>
<p>
<h1 style="font-family:Century">Baiduu</h1>
<button value="登陸" onclick="alert(display('馬儒','唐'))">登陸賬戶</button>
</p>
</body>
</html>
6.4局部變量&全局變量
| 區(qū)別 | 全局變量 | 局部變量 |
|---|---|---|
| 聲明 | 在函數(shù)外聲明 | 在函數(shù)內(nèi)聲明 |
| 訪問(wèn) | 任何腳本與函數(shù)都可訪問(wèn) | 只能在函數(shù)內(nèi)訪問(wèn) |
| 生存期 | 頁(yè)面打開期間 | 函數(shù)運(yùn)行期間 |
若把值賦給未聲明的變量,該變量將被視為全局變量
7.字符串
JavaScript中字符串定義與使用方法與C語(yǔ)言類似,但有了對(duì)象的概念??梢允褂盟饕齺?lái)訪問(wèn)字符串中的每個(gè)字符,與數(shù)組的用法相似。
7.1特殊字符
反斜杠(\)為轉(zhuǎn)義字符,反斜杠也可以用作字符串在源碼中換行符
| 代碼 | 輸出 |
|---|---|
| \' | 單引號(hào) |
| \" | 雙引號(hào) |
| \\ | 反斜杠 |
| \b | 退格鍵 |
| \f | 換頁(yè) |
| \n | 新行 |
| \r | 回車 |
| \t | 水平制表符 |
| \v | 垂直制表符 |
7.2屬性&方法
可以參照https://www.w3school.com.cn/jsref/jsref_obj_string.asp
var name="abc";
var leng=name.length;
8.運(yùn)算符
JavaScript中算術(shù)運(yùn)算符、賦值運(yùn)算符、關(guān)系運(yùn)算符、條件運(yùn)算符和邏輯運(yùn)算符都與C語(yǔ)言中相同,在比較運(yùn)算符中增加了絕對(duì)等于
| 運(yùn)算符 | 描述 | 例子 |
|---|---|---|
| === | 絕對(duì)等于(值和類型都相等) | 5==="5" false |
| !== | 絕對(duì)不等于(值和類型都不相等) | 5!=="5" true |
用于字符串的+運(yùn)算符
+運(yùn)算符可以直接將兩個(gè)字符串拼接,若數(shù)字與字符串相加,將數(shù)字看作字符串處理返回字符串。
9.條件語(yǔ)句&循環(huán)語(yǔ)句
條件語(yǔ)句與C中相同,循環(huán)語(yǔ)句也與C類似,添加了一些新的內(nèi)容
for/in循環(huán)
for/in語(yǔ)句循環(huán)遍歷對(duì)象數(shù)組
for (var x in person)
{
txt=person[x].age;
}
JavaScript錯(cuò)誤調(diào)試
JavaScript引擎執(zhí)行JavaScript代碼時(shí),會(huì)發(fā)生各種錯(cuò)誤。當(dāng)發(fā)生錯(cuò)誤時(shí),JavaScript引擎通常會(huì)停止,并生成錯(cuò)誤消息。很多瀏覽器內(nèi)置了調(diào)試工具,將錯(cuò)誤信息發(fā)送給用戶。瀏覽器調(diào)試工具一般是按F12鍵,在調(diào)試菜單中選擇Console輸出結(jié)果,或設(shè)置斷點(diǎn),或利用try-catch捕獲異常。