1.函數(方法):封裝執行一項專門任務的步驟的代碼序列--》重用
2.參數:方法內獨有的變量,接受傳入數據,在方法中處理
3.作用域:一個變量的可用范圍
?? ?全局作用域:全局變量
?? ?局部作用域:方法內變量
4.帶參數的方法可以不傳參數調用
5.?? ?自定義函數
?? ?全局函數:ECMAscript定制標準,各瀏覽器廠商實現的函數,直接調用
6. 0 null undefined NaN "" 0.0 在邏輯判斷中都轉成false 其余都是true
7.switch case 記得加break default ===三等號
8.循環結構 迭代? 循環三要素 1.循環條件 2.循環變量 3.循環體
9.Math.random() 任意min-max直接的隨機數parseInt((Math.random()*(max-min+1)+min))
10.do while 里面的變量也是全局變量 只有在function里的才是局部變量
11.變量聲明提前:在相同作用域內 不論 var出現在什么位置 解釋時都優先提取到js開始位置聲明
12.數組:連續存儲多個數據的存儲空間
?? ?不限制個數? 不限制類型
13.?? ?原始類型:數據保存在變量本地
?? ?引用類型:數據保存在堆中,由地址指向實際數據
?? ?凡是存在堆中的都是對象
?? ?堆和棧
14.全局變量生命周期隨網頁的生命周期
15.for in 專門遍歷關聯數組的for(key in arr)
16.冒泡排序:[3,5,2,6,7,9,8,4]?? ?[3,2,5,6,7,8,4]
?? ??? ?3 5
?? ??? ?2 5
?? ??? ?? 5 6
?? ??? ???? 6 7
?? ?????????????? 7 9
?? ??? ???????? 8 9
?? ??? ??? ?? 4 9
17.var newArr=arr1.concat(arr2)?? ? arr.join('')? var newArr2= arr.slice(start end+1)(含頭不含尾) arr.splice()--> 刪除 arr.splice(start, count)
?? ?插入 arr.splice(start,0,值1,值2)替換 arr.splice(start,count,值1,值2)
splice直接修改原數組? arr.reverse()-->顛倒數組元素 arr.sort()-->排序
arr.sort(compare)
18.棧: 尾部入棧arr.push()出棧 arr.pop().....頭部入棧arr.unshift()出棧?? ?arr.shift()
?? 隊列:入隊列:arr.push()出隊列:arr.shift()?? ?
19.二維數組:數組的元素是另一個數組對象
遍歷二維數組: for(var n=0;n<cities.length;n++){
?? ??? ?for(var i=0; i<cities[n].length;i++){
?? ??? ??? ?console.log(cities[n][i]);
?? ?}
20.包裝類型? String Number? Boolean 把原始類型包裝起來可以用對象和屬性
}
轉載于:https://www.cnblogs.com/liuguofu/p/9349024.html