1. 變量
只要聲明變量 就是 重新開辟一個儲存空間
值賦值
像數(shù)字 字符串 這種最基礎(chǔ)的類型 直接對變量進行賦值
引用賦值
以變量的形式對其進行賦值
var a = 1;
var b = a;
將 數(shù)組 或 對象 給變量進行賦值
var arr = [1,2,3,4,5];
淺拷貝
var arr = [1,2,3,4,5];
var arr1 = arr;
深拷貝
var arr = [1,2,3,4,5];
var arr1 = [];
for(var i = 0;i<arr.length;i++){
arr1[i] = arr[i];
}
2. 基礎(chǔ)數(shù)據(jù)類型
2.1 數(shù)字
0.1 + 0.2 = 0.3000000000004
JS 是一個弱類型語言 無法對二進制實現(xiàn)一個完美的數(shù)據(jù)類型
2.2 字符串
字符串的操作方法
+ 號 是 拼接號
`` 模板字符串 (${}變量的解析)
2.3 數(shù)組
數(shù)組操作方法
數(shù)組中 如果有元素被刪 后面的元素 往前自助補位
數(shù)組排序方法
數(shù)組去重方法
2.4 對象
鍵值對的格式
鍵 字符串或者變量 遵循 命名規(guī)則
值 任意數(shù)據(jù)類型
循環(huán)遍歷對象 使用 for ...in
2.5 布爾 Boolean 簡寫 bool
只有true 和 false
數(shù)字0 null undefined NaN false
除了這五個之外 所有的 都是 true
2.6 null
2.7 undefined
3. 運算符
算數(shù)運算符
字符串?dāng)?shù)字 可以直接進行 - * / 運算 所得結(jié)果是 數(shù)字
字符串?dāng)?shù)字 進行 + 運算的時候 直接是 字符串的拼接 而不是運算
關(guān)系運算符
< > <= >= == ===
if判斷里面寫的是 等于號 == 而不是賦值號 =
邏輯運算符
&& || !
4. 三目運算符
(判斷條件)? 成立賦值:不成立賦值
5. 分支語句
if else || else if
switch case
switch (n){
case 值:
執(zhí)行代碼;
break; // 必須加
case 值:
執(zhí)行代碼;
break; // 必須加
default:
當(dāng)所有case都沒有匹配上 才執(zhí)行
break;
}
6. 循環(huán)語句
for
for in
// for in循環(huán)
// 專門用來循環(huán)對象
var obj = {
name:'張三',
age:1,
sex:'男',
}
for(var val in obj){
// val 代表鍵名
console.log(val);
// obj[val] 代表值
console.log(obj[val]);
}
do while
while
7. 常用輸出
document.write();
console.log();
alert();
標簽.innerHTML
標簽.innerText
8. 函數(shù)
函數(shù)的定義 和 調(diào)用
形參 函數(shù)定義時 寫的參數(shù)
實參 函數(shù)調(diào)用時 寫的參數(shù)
作用域 全局作用域 局部作用域
this 指向
函數(shù)自調(diào)用 或者 不借助 事件調(diào)用時 this 指向 window
函數(shù)被事件觸發(fā) 時 this 指向 觸發(fā)這個事件的 dom元素
return
終止一個函數(shù)
不管 return 后面還有沒有代碼 當(dāng)程序進行到 return 都不再往下繼續(xù)執(zhí)行
當(dāng) return 后面 有值時 這個函數(shù)有返回值
值 可以是 數(shù)字 字符串 數(shù)組 對象 函數(shù) 布爾 等等
自調(diào)用
函數(shù)自己運行 可以創(chuàng)建一個 局部作用域
閉包
在外部函數(shù)內(nèi) 定義一個內(nèi)部函數(shù)
這個內(nèi)部函數(shù) 會對 外部函數(shù)中聲明的變量 進行操作
并在 外部函數(shù)的外面 去調(diào)用這個內(nèi)部函數(shù)
所形成的閉合回路 叫 閉包
遞歸
在函數(shù)內(nèi)部 調(diào)用自身函數(shù) 當(dāng)其滿足一定條件時 return
遞歸 必須有 return
標準案例: 去重 并保持原數(shù)組長度
回調(diào)函數(shù)
將函數(shù)作為一個參數(shù) 傳遞到另一個函數(shù)中
并在特定的時機 于另一個函數(shù)內(nèi)調(diào)用這個函數(shù)
經(jīng)典案例: 計時器 或 定時器