
Javascript外部引用
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>
</head>
<body>
<input type="text" name="" id="first">
<!-- js文件放到body的最后面-->
<script src="js/script.js"></script>
</body>
</html>
注意事項
把Javascript代碼放在什么位置有時會有影響,使用請注意。
根基語法
1. 常量
常量:恒久不變的量。
- 數(shù)字常量:
1234-1010.01
與數(shù)學中的數(shù)字表示方式完全相同。 - 字符串常量:
"abcd""1234""漢字"
使用雙引號包裹的一串字符,所以叫做字符串。
注意
字符串中包含雙引號,必須對雙引號進行轉移\"
2. 變量
變量:可以變化的量。
- 聲明變量
var 變量名;
- 變量賦值
變量名=變量值;
- 定義變量
var 變量名=變量值;
- 使用變量
直接使用變量名,如同使用常量。
變量名規(guī)則
- 英文數(shù)字下劃線等(不要寫漢字)
- 不能數(shù)字開頭
- 變量名不能重復(不能使用已經(jīng)定義的)
變量值是常量或者其他變量名
3.運算
3.1 算術運算

算術運算與數(shù)學中的使用方式完全一致。但運算符有些差異。在鍵盤中,有加號+和減號-,但是沒有乘號×和除號÷,使用/代表除法,*代表乘法。此外,使用%表示取余操作。
看一下例子就知道了。
| 運算式 | 結果 |
|---|---|
1 + 1 |
2 |
31 - 41 |
-10 |
3 * 21 |
63 |
31 / 2 |
15.5 |
17 % 7 |
3 |
17 - 7 * 2 |
3 |
3.2 關系運算

關系運算與數(shù)學中的使用方式完全一致。也是運算符略有不同。
| 操作 | 運算符 |
|---|---|
| 等于 | == |
| 不等于 | != |
| 小于 | < |
| 小于等于 | <= |
| 大于 | > |
| 大于等于 | >= |
看一下例子。
| 運算式 | 結果 |
|---|---|
1 > 1 |
false |
2 < 3 |
true |
2 != 3 |
true |
3.01<=5 |
ture |
3.3 邏輯運算

算術運算和關系運算與數(shù)學中的使用方式完全一致,而邏輯運算大家可能比較陌生。下面詳細介紹一下邏輯運算。
算術運算和關系運算是數(shù)字的運算,邏輯運算是布爾值的運算。
布爾值只有true和false兩個值,分別代表真假。也可以代表是非、對錯、開關、亮滅等完全對立的兩種狀態(tài)。
我們拿物理上的電路解釋邏輯運算。
- 非(
!)
非就是取反,非是一個比較特別的操作符,之前的操作符是兩個操作數(shù)進行操作。這個運算只有一個操作數(shù)。規(guī)則如下: -
!true等于false -
!false等于true
前面的算術運算例子加上非運算結果如下:
| 運算式 | 結果 |
|---|---|
!(1 > 1) |
true |
!(2 < 3) |
false |
!(2 != 3) |
false |
!(3.01<=5) |
false |
- 與(
&&)
與操作規(guī)則如下: -
true && true等于true -
false && true等于false -
true && false等于false -
false && false等于false
總結為一句話:有一個為false結果就是false。有些像電路中的串聯(lián)。
- 或(
||)
與操作規(guī)則如下: -
true || true等于true -
false || true等于true -
true || false等于true -
false || false等于false
總結為一句話:有一個為true結果就是true。有些像電路中的并聯(lián)。
邏輯運算操作數(shù)和結果只有true和false兩種情況,運算符只有與(&&)或(||)非(!)三類。
最佳實踐
三種運算的計算優(yōu)先級從高到低依次是:算術、關系和邏輯。通常使用小括號()來更改和明確計算的優(yōu)先級。
小結
| 類型 | 運算符 | 操作數(shù)類型 | 結果類型 |
|---|---|---|---|
| 算術 |
+ - * / %
|
數(shù)字 | 數(shù)字 |
| 關系 |
== != > >= < <=
|
數(shù)字、字符串 | 布爾 |
| 邏輯 |
&& ‖ !
|
布爾 | 布爾 |
數(shù)學運算、關系運算和邏輯運算是計算機三大運算方式,計算機的一切行為都是建立在這個三個運算上的。
JS特殊的加號+
- 加號兩邊都是純數(shù)字的就是求和。
- 加號兩邊只要有一個是文字就是字符串連接。
控制流程
順序
默認就是順序
分支
二選一
if(條件){
代碼
}
條件是布爾值,如果條件是true,執(zhí)行代碼,反之條件是false,不執(zhí)行代碼。
if(條件){
代碼1
}else{
代碼2
}
條件是布爾值,如果條件是true,執(zhí)行代碼1,反之條件是false,執(zhí)行代碼2
例子
var res = confirm("真的要退出嗎?");
if (res) {
document.write("已退出");
} else {
document.write("未退出");
}
多選一
if(條件1){
代碼1
}else if(條件2)
代碼2
}else{
代碼3
}
例子代碼一
var count = prompt("請輸入賬號?");
var res = prompt("請輸入密碼?");
if (count == "張三" && res == "abcde") {
document.write("歡迎張三");
} else if (count == "李四" && res == "123456") {
document.write("歡迎李四");
} else {
document.write("賬號密碼錯誤");
}
例子代碼二
// 判斷幾月份有幾天?
var month = prompt("請輸入月份?");
if(month == 1){
document.write(31);
}else if(month == 2){
document.write(28);
}else if(month == 3){
document.write(31);
}else if(month == 4){
document.write(30);
}else if(month == 5){
document.write(31);
}else if(month == 6){
document.write(30);
}else if(month == 7){
document.write(31);
}else if(month == 8){
document.write(31);
}else if(month == 9){
document.write(30);
}else if(month == 10){
document.write(31);
}else if(month == 11){
document.write(30);
}else if(month == 12){
document.write(31);
}else{
document.write("月份必須是1到12");
}
例子代碼二
var month = prompt("請輸入月份?");
if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12){
document.write(31);
}else if(month == 2){
document.write(28);
}else if(month == 4 || month == 6 || month == 9 || month == 11){
document.write(30);
}else{
document.write("月份必須是1到12");
}
switch-case-break-default
switch(變量){
case 常量:
代碼
break;
case 常量:
代碼
break;
default:
代碼
}
switch(month){
case "1":
days = 31;
break;
case "2":
days = 28;
break;
case "3":
days = 31;
break;
case "4":
days = 30;
break;
case "5":
days = 31;
break;
case "6":
days = 30;
break;
case "7":
days = 31;
break;
case "8":
days = 31;
break;
case "9":
days = 30;
break;
case "10":
days = 31;
break;
case "11":
days = 30;
break;
case "12":
days = 31;
break;
default:
document.write("月份必須是1到12");
}
document.write(month+"月份有"+days+"天");
循環(huán)
while(條件){代碼}
與if區(qū)別
- 沒有
else - 條件為true,執(zhí)行代碼[再判斷],條件為
false不執(zhí)行代碼
var password = prompt("請屬于密碼?");
while(password!="abcd"){
password = prompt("密碼錯誤,請重新屬于密碼?");
}
document.write("密碼正確");
常量
- 數(shù)字number
- 字符串string
- 布爾 boolean(true false)
變量三要素
1.變量名
2.變量值
3.變量類型
| 變量變量 | 變量名 | 變量值 | 變量類型 |
|---|---|---|---|
var str = "1234"; |
str |
"1234" |
string |
var num = 1234; |
num |
1234 |
number |
var b = true; |
b |
true |
boolean |
怎么判斷一個變量是什么類型
typeof month;
函數(shù)(function)
定義
- 基本模板
function 函數(shù)名(參數(shù)1,參數(shù)2){代碼}
參數(shù)和函數(shù)名可以沒有但是關鍵字function和大小括弧不能缺少。最簡單的函數(shù)定義如下:
function(){代碼}
- 返回值使用return
使用
- 基本模板
var 返回值 = 函數(shù)名(參數(shù)1,參數(shù)2);
函數(shù)可以沒有返回值,也可以沒有參數(shù)。但是函數(shù)調(diào)用必須使用函數(shù)名和小括弧。下面是最簡單的函數(shù)。
函數(shù)名();
函數(shù)是否有參數(shù),有幾個參數(shù),是否有返回值完全由函數(shù)定義決定的。
- 函數(shù)三要素:函數(shù)名、參數(shù)和返回值。
對象(object)
對象是多個屬性和多個方法組成。
- 對象屬性本質上是變量
- 對象方法本質上是函數(shù)
對象調(diào)用屬性
對象名.屬性名
例如:element.value
對象調(diào)用方法
對象名.方法名(參數(shù)1,參數(shù)2);
例如:document.write("abc");
事件(event)
事件一般是鼠標點擊拖拽或者鍵盤按鍵,自動調(diào)用JS代碼(函數(shù))。
根基語法是最根本的語法,如同數(shù)學中的
1+1=2,英語中的abc,是程序最基礎的概念。更多是知道如何寫如何用。
未完待續(xù)