ECMAScript是一種語言標(biāo)準(zhǔn)句携,Javascript是網(wǎng)景公司對ECMAScript標(biāo)準(zhǔn)的一種實現(xiàn)
快速入門——數(shù)據(jù)類型和變量
NaN
判斷NaN 唯一方法 isNaN(NaN) true
浮點數(shù)
1/3 = (1-2/3); false 計算機無法識別浮點數(shù)
解決方法:Math.abs(1/3 - (1-2/3)<0.0000001; true
快速入門——字符串
多行字符串
`你好, ${name}, 你今年${age}歲了!` 通過``包裹 ? ?$(變量)
操作字符串
string.length; 獲取長度 ? ?
indexOf(搜索指定字符串出現(xiàn)位置)未找到返回-1
substring 返回指定索引區(qū)間的子串(substring(x,y) 從x到y(tǒng)的子串)
快速入門——數(shù)組
Array.length; 獲取長度 ?Array.length=X 可以直接改變長度
indexOf 返回指定元素位置
slice?slice(x,y) 返回x到y(tǒng)的一個數(shù)組筹麸,截取Array部分元素,返回新Array(不改變原數(shù)組) slice()復(fù)制整個數(shù)組
push() 尾末添加元素?
pop()?尾末刪除元素
unshift()?頭部添加元素?
shift()?頭部刪除元素
sort() 對Array進行排序出皇,修改當(dāng)前Array位置(默認(rèn)順序排序)
reverse() 把整個Array元素反轉(zhuǎn)
splice() 改變原數(shù)組,刪除痢站,插入吻贿,替換 (x,y,z) 索引 執(zhí)行幾個 替換元素
concat() 合并兩個數(shù)組,返回新數(shù)組(不改變原數(shù)組)
join() 數(shù)組轉(zhuǎn)換成字符串join("") 指定符號拼接join("-")
多維數(shù)組取值 arr[x][y]
快速入門——對象
鍵值,逗號隔開
object.name ? ?object[name]
o.age=18 可以用=給沒有的對象屬性賦值
可用delete 刪除 age in o 用in操作符查是否有這個屬性 hasOwnProperty 檢查是否是自身有
快速入門——條件判斷
JavaScript把null呻右、undefined跪妥、0、NaN和空字符串''視為false声滥,其他值一概視為true眉撵。
快速入門——循環(huán)
for(;;)三個條件都可以省略
for...in 1.遍歷一個對象所有屬性(for key in Object) ? ?2遍歷數(shù)組(for i in arr) i為key值 arr[i]為數(shù)組值
快速入門——Map和Set
Map(數(shù)據(jù)類型)是一組鍵值對的結(jié)構(gòu),具有極快的查找速度落塑。
var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);
m.get('Michael'); // 95
var m = new Map(); // 空Map
m.set('Adam', 67); // 添加新的key-value
m.set('Bob', 59);
m.has('Adam'); // 是否存在key 'Adam': true
m.get('Adam'); // 67
m.delete('Adam'); // 刪除key 'Adam'
m.get('Adam'); // undefined
map 無論表有多大纽疟,查找速度不會慢
Set(數(shù)據(jù)類型)是一組key的集合????重復(fù)元素在Set中自動被過濾
add(key)??可以重復(fù)添加,但不會有效果??delete(key) 刪除