- HTML 中的腳本必須位于 <script> 與 </script> 標(biāo)簽之間抢呆。
- 腳本可被放置在 HTML 頁面的 <body> 和 <head> 部分中翰萨。
- 通常的做法是把函數(shù)放入 <head> 部分中琢感,或者放在頁面底部丢间。這樣就可以把它們安置到同一處位置,不會(huì)干擾頁面的內(nèi)容驹针。
- 也可以把腳本保存到外部文件中烘挫。外部文件通常包含被多個(gè)網(wǎng)頁使用的代碼。
外部 JavaScript 文件的文件擴(kuò)展名是 .js牌捷。
如需使用外部文件墙牌,請(qǐng)?jiān)?<script> 標(biāo)簽的 "src" 屬性中設(shè)置該 .js 文件。 - 外部腳本不能包含 <script> 標(biāo)簽暗甥。
- 如需從 JavaScript 訪問某個(gè) HTML 元素喜滨,您可以使用 document.getElementById(id) 方法。
請(qǐng)使用 "id" 屬性來標(biāo)識(shí) HTML 元素: - 請(qǐng)使用 document.write() 僅僅向文檔輸出寫內(nèi)容撤防。
如果在文檔已完成加載后執(zhí)行 document.write虽风,整個(gè) HTML 頁面將被覆蓋 - 通常我們?cè)诿織l可執(zhí)行的語句結(jié)尾添加分號(hào)。
使用分號(hào)的另一用處是在一行中編寫多條語句寄月。
在 JavaScript 中辜膝,用分號(hào)來結(jié)束語句是可選的。 - JavaScript 對(duì)大小寫是敏感的漾肮。
- JavaScript 會(huì)忽略多余的空格厂抖。您可以向腳本添加空格,來提高其可讀性克懊。
- JavaScript 是腳本語言忱辅。瀏覽器會(huì)在讀取代碼時(shí)七蜘,逐行地執(zhí)行腳本代碼。而對(duì)于傳統(tǒng)編程來說墙懂,會(huì)在執(zhí)行前對(duì)所有代碼進(jìn)行編譯橡卤。
- 您可以在文本字符串中使用反斜杠對(duì)代碼行進(jìn)行換行。
- 單行注釋以
//
開頭损搬。 - 多行注釋以
/*
開始碧库,以*/
結(jié)尾。 - 變量是存儲(chǔ)信息的容器巧勤。
- 變量必須以字母開頭
變量也能以 $ 和 _ 符號(hào)開頭(不過我們不推薦這么做)
變量名稱對(duì)大小寫敏感(y 和 Y 是不同的變量)
JavaScript 語句和 JavaScript 變量都對(duì)大小寫敏感嵌灰。 - 當(dāng)您向變量分配文本值時(shí),應(yīng)該用雙引號(hào)或單引號(hào)包圍這個(gè)值颅悉。
當(dāng)您向變量賦的值是數(shù)值時(shí)伞鲫,不要使用引號(hào)。如果您用引號(hào)包圍數(shù)值签舞,該值會(huì)被作為文本來處理。 - 在 JavaScript 中創(chuàng)建變量通常稱為“聲明”變量柒瓣。
我們使用 var 關(guān)鍵詞來聲明變量
一個(gè)好的編程習(xí)慣是儒搭,在代碼開始處,統(tǒng)一對(duì)需要的變量進(jìn)行聲明芙贫。
您可以在一條語句中聲明很多變量搂鲫。該語句以 var 開頭,并使用逗號(hào)分隔變量即可
聲明也可橫跨多行
在計(jì)算機(jī)程序中磺平,經(jīng)常會(huì)聲明無值的變量魂仍。未使用值來聲明的變量,其值實(shí)際上是 undefined拣挪。
如果重新聲明 JavaScript 變量擦酌,該變量的值不會(huì)丟失 - JavaScript 擁有動(dòng)態(tài)類型。這意味著相同的變量可用作不同的類型:
var x // x 為 undefined
var x = 6; // x 為數(shù)字
var x = "Bill"; // x 為字符串
- 字符串可以是引號(hào)中的任意文本菠劝。您可以使用單引號(hào)或雙引號(hào)
您可以在字符串中使用引號(hào)赊舶,只要不匹配包圍字符串的引號(hào)即可:
var answer="Nice to meet you!";
var answer="He is called 'Bill'";
var answer='He is called "Bill"';
- JavaScript 只有一種數(shù)字類型。數(shù)字可以帶小數(shù)點(diǎn)赶诊,也可以不帶:
var x1=34.00; //使用小數(shù)點(diǎn)來寫
var x2=34; //不使用小數(shù)點(diǎn)來寫
極大或極小的數(shù)字可以通過科學(xué)(指數(shù))計(jì)數(shù)法來書寫:
var y=123e5; // 12300000
var z=123e-5; // 0.00123
- 布爾(邏輯)只能有兩個(gè)值:true 或 false笼平。
- 數(shù)組下標(biāo)是基于零的,所以第一個(gè)項(xiàng)目是 [0]舔痪,第二個(gè)是 [1]寓调,以此類推。
var cars=new Array(); // 推薦這種
cars[0]="Audi";
cars[1]="BMW";
cars[2]="Volvo";
var cars=new Array("Audi","BMW","Volvo");
var cars=["Audi","BMW","Volvo"]; // 推薦這種
- 對(duì)象由花括號(hào)分隔锄码。在括號(hào)內(nèi)部夺英,對(duì)象的屬性以名稱和值對(duì)的形式 (name : value) 來定義晌涕。屬性由逗號(hào)分隔:
var person={firstname:"Bill", lastname:"Gates", id:5566};
空格和折行無關(guān)緊要。聲明可橫跨多行:
// 推薦這種
var person={
firstname : "Bill",
lastname : "Gates",
id : 5566
};
對(duì)象屬性有兩種尋址方式:
name=person.lastname; // 推薦這種
name=person["lastname"];
- Undefined 這個(gè)值表示變量不含有值秋麸。
可以通過將變量的值設(shè)置為 null 來清空變量渐排。 - 當(dāng)您聲明新變量時(shí),可以使用關(guān)鍵詞 "new" 來聲明其類型:
JavaScript 變量均為對(duì)象灸蟆。當(dāng)您聲明一個(gè)變量時(shí)驯耻,就創(chuàng)建了一個(gè)新的對(duì)象。
var carname=new String;
var x= new Number;
var y= new Boolean;
var cars= new Array;
var person= new Object;
- JavaScript 中的所有事物都是對(duì)象:字符串炒考、數(shù)字可缚、數(shù)組、日期斋枢,等等帘靡。
在 JavaScript 中,對(duì)象是擁有屬性和方法的數(shù)據(jù)瓤帚。
在面向?qū)ο蟮恼Z言中描姚,屬性和方法常被稱為對(duì)象的成員。
您還可以向已存在的對(duì)象添加屬性和方法戈次。
在面向?qū)ο蟮恼Z言中轩勘,使用 camel-case 標(biāo)記法的函數(shù)是很常見的。您會(huì)經(jīng)城有埃看到someMethod()
這樣的函數(shù)名绊寻,而不是some_method()
。
訪問對(duì)象屬性的語法是:
objectName.propertyName
您可以通過下面的語法調(diào)用方法:
objectName.methodName()
- 函數(shù)是由事件驅(qū)動(dòng)的或者當(dāng)它被調(diào)用時(shí)執(zhí)行的可重復(fù)使用的代碼塊悬秉。
可以在某事件發(fā)生時(shí)直接調(diào)用函數(shù)(比如當(dāng)用戶點(diǎn)擊按鈕時(shí))澄步,并且可由 JavaScript 在任何位置進(jìn)行調(diào)用。
函數(shù)就是包裹在花括號(hào)中的代碼塊和泌,前面使用了關(guān)鍵詞function
:
function functionname()
{
這里是要執(zhí)行的代碼
}
JavaScript 對(duì)大小寫敏感村缸。關(guān)鍵詞 function
必須是小寫的,并且必須以與函數(shù)名稱相同的大小寫來調(diào)用函數(shù)武氓。
在調(diào)用函數(shù)時(shí)王凑,您可以向其傳遞值,這些值被稱為參數(shù)聋丝。
在使用 return
語句時(shí)索烹,函數(shù)會(huì)停止執(zhí)行,并返回指定的值弱睦。整個(gè) JavaScript 并不會(huì)停止執(zhí)行百姓,僅僅是函數(shù)。JavaScript 將繼續(xù)執(zhí)行代碼况木,從調(diào)用函數(shù)的地方垒拢。在您僅僅希望退出函數(shù)時(shí) 旬迹,也可使用 return
語句。返回值是可選的
- 在 JavaScript 函數(shù)內(nèi)部聲明的變量(使用 var)是局部變量求类,所以只能在函數(shù)內(nèi)部訪問它奔垦。(該變量的作用域是局部的)。
您可以在不同的函數(shù)中使用名稱相同的局部變量尸疆,因?yàn)橹挥新暶鬟^該變量的函數(shù)才能識(shí)別出該變量椿猎。
只要函數(shù)運(yùn)行完畢,本地變量就會(huì)被刪除寿弱。 - 在函數(shù)外聲明的變量是全局變量犯眠,網(wǎng)頁上的所有腳本和函數(shù)都能訪問它。
- JavaScript 變量的生命期從它們被聲明的時(shí)間開始症革。
局部變量會(huì)在函數(shù)運(yùn)行以后被刪除筐咧。
全局變量會(huì)在頁面關(guān)閉后被刪除。 - 如果您把值賦給尚未聲明的變量噪矛,該變量將被自動(dòng)作為全局變量聲明量蕊。
carname="Volvo"; // 將聲明一個(gè)全局變量 carname,即使它在函數(shù)內(nèi)執(zhí)行艇挨。 要避免做這樣的事情危融。
-
+
運(yùn)算符用于把文本值或字符串變量加起來(連接起來)。
如需把兩個(gè)或多個(gè)字符串變量連接起來雷袋,請(qǐng)使用+
運(yùn)算符躏尉。
要想在兩個(gè)字符串之間增加空格霸株,需要把空格插入一個(gè)字符串之中夜畴,或者把空格插入表達(dá)式中:
txt1="What a very";
txt2="nice day";
txt3=txt1+" "+txt2;
如果把數(shù)字與字符串相加嗡靡,結(jié)果將成為字符串谴古。
- 請(qǐng)使用小寫的
if
狸剃。使用大寫字母(IF)
會(huì)生成 JavaScript 錯(cuò)誤怯屉! - JavaScript 支持不同類型的循環(huán):
for
- 循環(huán)代碼塊一定的次數(shù)
for/in
- 循環(huán)遍歷對(duì)象的屬性
while
- 當(dāng)指定的條件為 true 時(shí)循環(huán)指定的代碼塊
do/while
- 同樣當(dāng)指定的條件為 true 時(shí)循環(huán)指定的代碼塊 - break 語句用于跳出循環(huán)抛猫。
continue 用于跳過循環(huán)中的一個(gè)迭代贼陶。
通過標(biāo)簽引用刃泡,break 語句可用于跳出任何 JavaScript 代碼塊:
cars=["BMW","Volvo","Saab","Ford"];
list:
{
document.write(cars[0] + "<br>");
document.write(cars[1] + "<br>");
document.write(cars[2] + "<br>");
break list;
document.write(cars[3] + "<br>"); // 被跳過,不執(zhí)行
document.write(cars[4] + "<br>"); // 被跳過碉怔,不執(zhí)行
document.write(cars[5] + "<br>"); // 被跳過烘贴,不執(zhí)行
}
-
try
語句測(cè)試代碼塊的錯(cuò)誤。
catch
語句處理錯(cuò)誤撮胧。
throw
語句創(chuàng)建自定義錯(cuò)誤桨踪。
如果把 throw 與 try 和 catch 一起使用,那么您能夠控制程序流芹啥,并生成自定義的錯(cuò)誤消息锻离。
function myFunction()
{
try
{
var x=document.getElementById("demo").value;
if(x=="") throw "值為空";
if(isNaN(x)) throw "不是數(shù)字";
if(x>10) throw "太大";
if(x<5) throw "太小";
}
catch(err)
{
var y=document.getElementById("mess");
y.innerHTML="錯(cuò)誤:" + err + "铺峭。";
}
}
- JavaScript 可用來在數(shù)據(jù)被送往服務(wù)器前對(duì) HTML 表單中的這些輸入數(shù)據(jù)進(jìn)行驗(yàn)證。
- 必填(或必選)項(xiàng)目
下面的函數(shù)用來檢查用戶是否已填寫表單中的必填(或必選)項(xiàng)目汽纠。假如必填或必選項(xiàng)為空卫键,那么警告框會(huì)彈出,并且函數(shù)的返回值為 false虱朵,否則函數(shù)的返回值則為 true(意味著數(shù)據(jù)沒有問題):
function validate_required(field,alerttxt)
{
with (field)
{
if (value==null||value=="")
{alert(alerttxt);return false}
else {return true}
}
}
- E-mail 驗(yàn)證
下面的函數(shù)檢查輸入的數(shù)據(jù)是否符合電子郵件地址的基本語法莉炉。
意思就是說,輸入的數(shù)據(jù)必須包含 @ 符號(hào)和點(diǎn)號(hào)(.)卧秘。同時(shí)呢袱,@ 不可以是郵件地址的首字符,并且 @ 之后需有至少一個(gè)點(diǎn)號(hào):
function validate_email(field,alerttxt)
{
with (field)
{
apos=value.indexOf("@")
dotpos=value.lastIndexOf(".")
if (apos<1||dotpos-apos<2)
{alert(alerttxt);return false}
else {return true}
}
}