一、JavaScript執(zhí)行原理
當(dāng)客戶端向服務(wù)器請(qǐng)求某個(gè)頁(yè)面時(shí),服務(wù)器端將整個(gè)頁(yè)面中包含JavaScript的腳本代碼作為響應(yīng)內(nèi)容,發(fā)送會(huì)客戶端機(jī)器,客戶端瀏覽器根據(jù)發(fā)回的網(wǎng)頁(yè)文件從上往下逐行讀取并解析其中的html或腳本代碼。
二、JavaScript腳本代碼
在Html代碼中添加腳本代碼的三種方式:
- Html文件混合方式。在網(wǎng)頁(yè)中<script></script>標(biāo)簽中直接寫(xiě)腳本程序。
- Js文件引用方式。將腳本程序代碼編寫(xiě)在一個(gè)單獨(dú)的.js文件中,然后在網(wǎng)頁(yè)中引用該文件。
- Html代碼嵌入方式。將腳本程序代碼作為某個(gè)html元素的事件屬性值或超鏈接的href屬性值。
三、JavaScript核心語(yǔ)法
1. 變量
定義變量規(guī)則:
(1)第一個(gè)字母必須是字母、下劃線、美元符號(hào)。
(2)其他字符可以是字母、下劃線、美元符號(hào)、數(shù)字。
(3)不能與關(guān)鍵字同名。
(4)嚴(yán)格區(qū)分大小寫(xiě)。
2. 數(shù)據(jù)類(lèi)型
(1) typeof操作符
用來(lái)檢測(cè)給定變量的數(shù)據(jù)類(lèi)型
(2) null
null是空類(lèi)型,表示一個(gè)變量已經(jīng)有值,但值為空對(duì)象。
(3)undefined
undefined表示變量沒(méi)有定義
(4)boolean
boolean是布爾類(lèi)型,有兩個(gè)標(biāo)準(zhǔn)值:false(假) 和true(真)。
(5)number
number是數(shù)字類(lèi)型包含整數(shù)、小數(shù)。
(6)String
String是字符串類(lèi)型,用單引號(hào)或雙引號(hào)引起來(lái)。單雙引號(hào)不要交叉使用。
3.運(yùn)算符
| 類(lèi)型 | 運(yùn)算符 |
|---|---|
| 算術(shù)運(yùn)算符 | + 、 -、/、 *、 %、 ++、 -- |
| 賦值運(yùn)算符 | = |
| 比較運(yùn)算符 | > 、< 、 >= <= == != |
| 邏輯運(yùn)算符 | &&、|| 、! |
注意:“+”能實(shí)現(xiàn)字符串的相加,如有字符串,“+”就用于連接
4. 控制語(yǔ)句
(1) 順序結(jié)構(gòu)
最基本的結(jié)構(gòu),從上往下執(zhí)行
(2) 選擇結(jié)構(gòu)
if(條件表達(dá)式){
語(yǔ)句或語(yǔ)句塊
}
多分支:
if(條件表達(dá)式1){
語(yǔ)句或語(yǔ)句塊1
}else if(條件表達(dá)式2){
語(yǔ)句或語(yǔ)句塊2
}else if條件表達(dá)式3(){
語(yǔ)句或語(yǔ)句塊3
}........
else{
語(yǔ)句或語(yǔ)句塊n
}
(3) switch語(yǔ)句
switch(表達(dá)式){
case 取值1:語(yǔ)句或語(yǔ)句塊1; break;
case 取值2:語(yǔ)句或語(yǔ)句塊2; break;
case 取值3:語(yǔ)句或語(yǔ)句塊3; break;
.......
case 取值n:語(yǔ)句或語(yǔ)句塊n; break;
}
(4) 循環(huán)語(yǔ)句
while(條件表達(dá)式){
語(yǔ)句或語(yǔ)句塊
}
do{
語(yǔ)句或語(yǔ)句塊
}while(條件表達(dá)式);
for(初始化表達(dá)式;循環(huán)條件表達(dá)式;循環(huán)后的操作表達(dá)式){
語(yǔ)句或語(yǔ)句塊
}
四、代碼展示
1.九九乘法表
<script>
for(var i = 1;i<=9;i++){
for(var j = 1;j<=i;j++){
document.write(i+"*"+j+"="+i*j+"  ");
}
document.write("<br>");
}
</script>
2.三位數(shù)水仙花數(shù)
<script>
function shui(){
for(var i=100;i<1000;i++){
var bai = Math.floor(i/100);
var shi = Math.floor(i/10%10);
var ge = Math.floor(i%10);
if(bai*bai*bai+shi*shi*shi+ge*ge*ge == i){
document.write(i);
document.write("<br>")
}
}
}
</script>
補(bǔ)充:JavaScript的變量是弱類(lèi)型的形式,即用var關(guān)鍵字來(lái)聲明變量是不必確定類(lèi)型,而是在使用或賦值時(shí)自動(dòng)確定其數(shù)據(jù)類(lèi)型。JavaScript還有一種復(fù)雜的類(lèi)型是:object。
isNaN函數(shù)是用來(lái)判斷是否為數(shù)字,數(shù)字值返回 false,其他返回 true。