1 JavaScript概述
1.1 JavaScript 的特點
JavaScript是一門動態(tài)的、弱類型的、解釋型的、基于對象的腳本語言。
動態(tài)的: 數據類型無需提前指定,如: JavaScript、Python等。 靜態(tài)的: 數據類型需要提前指定,如C、C++、Java 等。
弱類型: 數據類型可以自動轉換,如JavaScript、PHP等。 強類型: 數據樂西無法自動轉換,如C、C++、Python等
解釋型: 邊編譯,邊運行,如JavaScript、PHP、Python等。 編譯型: 先編譯后運行,如C、C++、Java。
腳本語言: 可以嵌入其他計算機語言中執(zhí)行,如 JavaScript、PHP、Python 等。
1.2 JavaScript的運行環(huán)境
-
瀏覽器
客戶端瀏覽器上的 JavaScript 組成部分:
- ECMAScript —— JavaScript的語法
- BOM —— 瀏覽器對象模型
- DOM —— 文檔對象模型
Node.js
2 JavaScript 基本語法
2.1 JavaScript 在 HTML 中使用的三種方式
① 行內式
<button onlick="JS代碼.."></button>
<div ondblclick="js代碼.."></div>
② 內嵌式
<script>
JS代碼...
</script>
注意:在 HTML 文件中寫JS代碼,建議將 script 標簽放在其他元素后面,因為如果放在前面JS代碼會阻塞 HTML代碼的加載。
③ 外鏈式
在JS文件中直接寫JS代碼,在HTML文件中其他代碼的后面用 script 標簽鏈接JS文件
<script src="js文件的地址"></script>
注意:外鏈式與內嵌式要分別使用各自的 script 標簽,不能寫在一個 script 標簽中。
2.2 JavaScript 注釋
// 單行注釋
/*
多行注釋
多行注釋
*/
2.3 JavaScript 語法特點
- 每條語句的后面需要指令結束符:分號或者換行。
- 嚴格區(qū)分大小寫。
2.4 JavaScript 中輸出內容
① 輸出到彈框
alert(內容);
② 輸出到控制臺
console.log(內容)
輸出到頁面
document.write(內容)
3 變量
3.1 數據、直接量、變量
數據:運算的對象和結果。
直接量:直接使用的數據。
變量:給數據取個名字,通過使用其名字來使用該數據。
3.2 變量的意義
- 更簡潔地表示復雜地數據
- 通過變量將數據存儲于內存中,以保證每次使用的都是同一個數據
3.3 變量的語法
//聲明變量
var 變量名;
//給變量賦值
變量名 = 值;
//聲明變量并賦值,值可以為直接量也可以為變量
var 變量名 = 值;
//同時聲明多個變量(簡單寫法)
var a = 100, b = 200, c = 300;
3.4 變量的命名規(guī)范
① 強制規(guī)范
變量名必須由英文字母、數字、下劃線、$組成,且不能以數字開頭。
-
變量名不能是關鍵字或保留字。
關鍵字: 在 JS 中具有特殊意義的詞,如 var、if 、for 等等。
保留字: 將來有可能成為關鍵字的詞。
② 建議規(guī)范
使用有意義的詞命名
-
如果變量名由多個英文單詞構成,建議使用小駝峰命名法。
小駝峰命名法:除了第一個單詞,后面每個單詞的首字母都大寫。 如
homeAddress、myHomeAddress。
4 數據類型
4.1 數據類型的劃分
① 原始類型
number 數值類型
string 字符串類型
boolean 布爾類型
undefined 未定義類型
null 空類型
②對象類型
Array 數組類型
Object 對象類型
Function 函數類型
...
4.2 判斷數據類型
typeof(數據)
4.3 number 數值類型
① 整型
整數數字,有十進制表示法、八進制表示法、十六進制表示法。
892; // 10 進制表示法
065; // 8 進制表示 以0開頭
0x8a; // 16 進制表示 以0x開頭
② 浮點型
帶小數點的數字。
123.34; // 浮點數
3.4e10; // 科學計數法表示的數字
注意: 浮點型數字的計算存在精度問題。
③ NaN
NaN 表示 Not A Number,是 number 類型的一個值。
判斷一個數據是否是 NaN:使用函數 isNaN() 是則返回 true,否則返回 false。
④ JavaScript 中數字的有效范圍
5e-324 ~ 1.7976931348623157e+308
如果數字超出有效范圍,使用 Infinity(正無窮) 和 -Infinity(負無窮) 表示。
判斷一個數字是否在有效范圍內:使用函數 isFinite(),在有效范圍內返回 true,不在有效范圍內返回 false。 不在有效范圍內的數值有: Infinity、-Infinity、NaN。
4.4 string 字符串類型
- 表示方法:單引號或雙引號(單引號中不能嵌套單引號,雙引號中不能嵌套雙引號,除非用轉義字符)
- 轉義字符:
\n換行,\'單引號,\"雙引號,\\反斜杠本身,\uxxxxunicode編碼(輸出對應字符)
4.5 boolean 布爾類型
值:true是,false否
4.6 null和undefined類型
null:沒有對象,即此處不應有值??芍鲃佣x(eg.聲明了變量不知賦何值,可先賦值null),也可以被動產生。
undefined:缺少值,應有值但沒有定義。主要是被動產生(eg.聲明了變量未賦值、使用了不存在的屬性)