JavaScript 的基本語(yǔ)法
1拦赠、語(yǔ)句
JavaScript區(qū)分大小寫,每條語(yǔ)句以分號(hào);
結(jié)尾葵姥,用大括號(hào){}
表示作用域(而不是Python中的縮進(jìn))荷鼠,所以每條語(yǔ)句和變量之間可以有任意空格、Tab或回車榔幸。JavaScript用C允乐、C++風(fēng)格的/*..*/
表示注釋矮嫉。
2、變量
JavaScript 是動(dòng)態(tài)數(shù)據(jù)類型牍疏,即一個(gè)變量的類型隨著其值的變化而變化敞临。變量用var
關(guān)鍵字聲明,變量名可以用字母麸澜、數(shù)字、下劃線等組成奏黑。常用的數(shù)據(jù)類型有字符串炊邦、數(shù)字、布爾熟史、數(shù)組馁害、對(duì)象等,字符串用雙引號(hào)表示蹂匹。變量及數(shù)據(jù)類型的舉例如下:
var x, y, xx, y_y //聲明變量時(shí)無(wú)須指明類型
x = 45 //整型
y = 3.1415926 //浮點(diǎn)型
z = true //布爾型
xx = new Array(x, "hello", 12, true) //數(shù)組類型
y_y = {language:"English", title:"python programming"} // 對(duì)象類型
var zz3 = false //在變量定義時(shí)直接賦值
var arr = new Array()
arr[0] = "hello world" //給屬組元素賦值
arr[1] = "I'm python programmer"
JavaScript中的對(duì)象類型與Python中的Dictionary類型相似碘菜,都是用大括號(hào)以鍵/值對(duì)的方式表達(dá)數(shù)據(jù),但其語(yǔ)法不完全相同限寞。在Python中Dictionary的“鍵”是任意數(shù)據(jù)類型忍啸,示例如下:
//這里有Python代碼中Dictionary的使用方法
>>> dict = {"language": "English", "title": "python programming"}
>>> dict
{'language': 'English', 'title': 'python programming'}
>>> dict["language"] = "France"
>>> dict[4] = "new element"
>>> dict
{'language': 'France', 'title': 'python programming', 4: 'new element'}
而在JavaScript的對(duì)象中,“鍵”只能以成員變量的方式出現(xiàn)履植,定義時(shí)鍵上不加雙引號(hào)计雌,示例如下:
//這里是JavaScript中對(duì)象的使用方法
var obj = {language : "English", title : "python programming"}
//既可以使用下標(biāo)訪問(wèn),也可以使用成員變量訪問(wèn)
obj["language"] = "France"
obj.language = "Japanese"
3玫霎、操作符
常用操作符與Python類似凿滤,有+、-庶近、*翁脆、/、%鼻种、==反番、>=、<=等叉钥。此外恬口,JavaScript還允許自增操作(++)、自減操作(--)沼侣。操作符的示例如下:
> txt1 = "python";
"python"
> txt2 = "非常好的編程語(yǔ)言";
"非常好的編程語(yǔ)言"
> txt3 = txt1 + "是" + txt2;
"python是非常好的編程語(yǔ)言"
> number = 5 + 4;
9
> number--;
9
> number
8
> txt4 = txt3 + number;
"python是非常好的編程語(yǔ)言8"
> number += 3;
11
> ret = number < 10;
false
> ret2 = number == 11;
true
4祖能、函數(shù)
JavaScript中用關(guān)鍵字function定義函數(shù),語(yǔ)法如下:
//函數(shù)定義
function functionname(param1,param2...){
Block_of_function;
}
//函數(shù)調(diào)用
functionname(param1,param2);
和Python一樣蛾洛,JavaScript函數(shù)中的返回值是可選的养铸,如果函數(shù)有返回值雁芙,則可以在block_of_function
中用return語(yǔ)句返回,示例如下:
function sum(a,b,c){
return a+b+c;
}
result = sum(5,6,10); //result = 21
5钞螟、判斷語(yǔ)句
JavaScript中有兩種邏輯控制語(yǔ)句:if
和switch
兔甘。if
語(yǔ)句用于對(duì)不同的條件執(zhí)行不同代碼塊;switch
語(yǔ)句用于對(duì)一個(gè)表達(dá)式的不同結(jié)果執(zhí)行不同的代碼塊鳞滨。語(yǔ)法如下:
//if語(yǔ)句語(yǔ)法洞焙,其中if、else if拯啦、else是關(guān)鍵字
if(condition1){
block_of_condition1;
}else if(condition2){
block_of_condition2;
}else{
block_of_others;
}
//switch語(yǔ)句語(yǔ)法澡匪,其中switch、case褒链、default唁情、break是關(guān)鍵字
switch(expression){
case value1:{
block_for_value1;
break;
}
case value2:
block_for_value2;
break;
default:
block_for_others;
}
語(yǔ)句if 的語(yǔ)義與Python相似,此處不再舉例甫匹。對(duì)語(yǔ)句switch舉例如下:
var day = new Date().getDay();
switch (day){
case 1:{
today = "今天是星期一";
tomorrow = "明天是星期二";
break;
}
case 2:
today = "今天是星期二";
break;
case 3:
today = "今天是星期三";
break;
case 4:
today = "今天是星期四";
break;
case 5:
today = "今天是星期五";
break;
default:
today = "今天是周末";
break;
}
每個(gè)條件的block中可以放多條語(yǔ)句甸鸟,但是每個(gè)塊中都應(yīng)該以break語(yǔ)句結(jié)尾。
注意: switch 語(yǔ)句的每個(gè)塊中都應(yīng)該以break作為最后一條語(yǔ)句兵迅。
6抢韭、循環(huán)語(yǔ)句
JavaScript的循環(huán)語(yǔ)句有for
和while
兩種,各有兩種用法恍箭。for的第1種語(yǔ)法如下:
//for 形式一篮绰,與Java/C/C++中的for語(yǔ)句類似:
for(sentencel; sentence2; sentence3){
Block_of_loop;
}
其中sentence1 在for語(yǔ)句開始時(shí)執(zhí)行且只執(zhí)行一次;sentence2 在每個(gè)loop開始時(shí)執(zhí)行季惯,sentence2 應(yīng)該返回一個(gè)布爾值吠各,如果sentence2 的結(jié)果為true,則執(zhí)行該loop勉抓,否則立即結(jié)束for循環(huán)贾漏;sentence3 在每次循環(huán)結(jié)束時(shí)執(zhí)行。for語(yǔ)句的典型用法如下:
for(var i=0; i < 10; i++){
document.write("<br>");
}
本例中的循環(huán)體將執(zhí)行10次藕筋,即在document中寫入10個(gè)<br>
標(biāo)簽纵散。
for 的第2 種用法和while語(yǔ)句與Python中的語(yǔ)義相似,此處只列出其語(yǔ)法規(guī)則:
//for 形式二隐圾,與Python的for語(yǔ)句類似:
for(x in array){
block_of_loop;
}
//while 形式一伍掀,先判斷布爾表達(dá)式再執(zhí)行循環(huán)體,如果布爾表達(dá)式為假則終止循環(huán)
while(expression){
block_of_loop;
}
//while 形式二暇藏,先執(zhí)行循環(huán)體再判斷布爾表達(dá)式蜜笤,如果布爾表達(dá)式為假則終止循環(huán)
do{
block_of_loop;
}while(expression);
下面是一個(gè)捕捉鼠標(biāo)單擊事件來(lái)觸發(fā)的函數(shù)示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="message"></div>
<!--button是一個(gè)按鈕控件,其onclick屬性定義當(dāng)前用戶單擊按鈕時(shí)執(zhí)行的javascript腳本-->
<button type="button" onclick="hello();">Try it</button>
<!--<script src="myScript.js">外部鏈接方式</script>-->
<!--內(nèi)部嵌入方式-->
<script>
function hello(){
document.getElementById("message").innerHTML="Hello world of Javascript";
}
</script>
</body>
</html>