2020-12-26 JavaScript基本概念5:cookie,sessionStorage和localStorage,0.1+0.2!=0.3怎麼處理,陣列的常用方法,new一個物件的過程,繼承

Amanda&Rachel發表於2020-12-26
19.談談cookie,sessionStorage和localStorage
cookie用來儲存登入資訊,大小限制為4KB左右
localStorage是Html5新增的,用於本地資料儲存,儲存的資料沒有過期時間,一般瀏覽器大小限制在5MB
sessionStorage介面方法和localStorage類似,但儲存的資料的只會在當前會話中儲存下來,頁面關閉後會被清空。
| **名稱**       | **生命期**       | **大小** | **與伺服器通訊**                             
| cookie       | 一般由伺服器生成,可設定失效時間。   如果在瀏覽器端生成Cookie,   預設是關閉瀏覽器後失效 | 4KB      | 每次都會攜帶在HTTP頭中,   如果使用cookie儲存過多資料會帶來效能問題 |
| localStorage   | 除非被清除,   否則永久儲存                                  | 5MB      | 僅在瀏覽器中儲存,不與伺服器通訊                             |
| sessionStorage | 僅在當前會話下有效,   關閉頁面或瀏覽器後被清除              | 5MB      | 僅在瀏覽器中儲存,不與伺服器通訊                             |

20.0.1+0.2!=0.3怎麼處理
在計算機中數字無論是定點數還是浮點數都是以多位二進位制的方式進行儲存的,計算機天生只能儲存整數,它只能用某種方法來表示小數
解決方法:
1.把計算數字 提升 10 的N次方 倍 再 除以 10的N次方。N>1.
(0.1*10+ 0.2*10)/10== 0.3//true
2.四捨五入  Match.

21.陣列的常用方法(至少說出8個)
1.shift 刪除陣列中的第一個元素
2.pop 刪除陣列中的最後一個元素
3.unshift 增加元素在陣列的前面
4.push 增加元素在陣列的後面
5.map 迴圈,並且返回新的陣列
6.forEach 迴圈,遍歷
7.filter 過濾,篩選出陣列中的滿足條件的,並且返回新的陣列
8.concnt 合併陣列
9.find 查詢出第一個符合條件中的陣列元素
10.findIndex 查詢出第一個符合條件中的陣列元素,所在的索引位置
11.flat 將多維陣列轉為一維陣列
12.join將陣列轉為字串
13.reverse 顛倒陣列中的順序
14.every檢測陣列中元素是否都是符合條件 === bollean
15.some檢測陣列中元素是否有滿足條件的元素 === bollean
16.splice(start,n,新增元素) 開始位置 刪除個數,新增元素
17.sort 排序
18.slice(start,end) 選中[start.end)之間的元素
19.indexOf 查詢值所在的位置
20.includes 檢視陣列中是否存在此元素

22.new一個物件的過程中發生了什麼嗎?
\1. 建立空物件;
var obj = {};
\2. 設定新物件的constructor屬性為建構函式的名稱,設定新物件的__proto__屬性指向建構函式的prototype物件;
obj.__proto__ = ClassA.prototype;
\3. 使用新物件呼叫函式,函式中的this被指向新例項物件:
ClassA.call(obj);//{}.建構函式();
\4. 將初始化完畢的新物件地址,儲存到等號左邊的變數中

23.JS實現繼承(至少會一種)

1. 原型鏈
2. 借用建構函式
3. 組合繼承
4. 寄生式繼承
6. 原型式繼承  

相關文章