13.數組的方法
var myMap = new Map(); map 返回形式爲 [key,value]
fliter 返回的是 刪除的數組 改變原數組
reducer 函數接收4個參數:
1.Accumulator (acc) (累計器)
2.Current Value (cur) (當前值)
3.Current Index (idx) (當前索引)
4.Source Array (src) (源數組)
用法 arr.reduce(callback[, initialValue])
new Set([iterable]); Set中的元素只會出現一次,即 Set 中的元素是唯一的。
shift() 刪下標爲0的那個元素
pop() 刪最後一個元素
indexof() 獲取下標
slice很強大的數組方法,它有很多種用法,可以實現刪除、插入和替換。
刪除:可以刪除任意數量的項,只需指定 2 個參數:要刪除的第一項的位置和要刪除的項數。例如, splice(0,2)會刪除數組中的前兩項。
插入:可以向指定位置插入任意數量的項,只需提供 3 個參數:起始位置、 0(要刪除的項數)和要插入的項。例如,splice(2,0,4,6)會從當前數組的位置 2 開始插入4和6。
替換:可以向指定位置插入任意數量的項,且同時刪除任意數量的項,只需指定 3 個參數:起始位置、要刪除的項數和要插入的任意數量的項。插入的項數不必與刪除的項數相等。例如,splice (2,1,4,6)會刪除當前數組位置 2 的項,然後再從位置 2 開始插入4和6。
splice()方法始終都會返回一個數組,該數組中包含從原始數組中刪除的項,如果沒有刪除任何項,則返回一個空數組。
14.es6 用過哪些 實際舉例
15.兩個數組怎麼拼接在一起
1、concat
var c = a.concat(b)
2.for循環
for(var i in b){
a.push(b[i]);
}
3.apply
a.push.apply(a,b);
16.項目上線的問題
17.登錄怎麼知道登錄了 不會再一次請求
登錄的時候服務器端給前端一個令牌(token),後面用戶所有的操作都要帶token去驗證是否是登錄狀態
18.axios 看下攔截器 導航守衛
首先,在vue-cli項目的src路徑下新建一個axios文件夾,在axios文件夾裏新建api.js和request.js,api.js用於寫接口,對axios的封裝寫在request.js裏,項目機構如圖:
然後開始統一封裝axios, 首先引入axios、qs依賴,引入main.js主要是用於後面對接口進行統一處理,比如調接口的時候,顯示loading等。這個main.js根據你個人情況,可加可不加。
然後創建一個axios實例,這個process.env.BASE_URL在config/dev.evn.js、prod.evn.js裏面進行配置:
axios實例創建好之後,開始使用request攔截器對axios請求配置做統一處理,具體如下:
然後是對response做統一處理,代碼如下:
最後,將我們的axios實例暴露出去,整個axios的封裝就寫完了。
實現深拷貝的方法
1、使用遞歸的方式實現深拷貝
//使用遞歸的方式實現數組、對象的深拷貝
function deepClone1(obj) {
//判斷拷貝的要進行深拷貝的是數組還是對象,是數組的話進行數組拷貝,對象的話進行對象拷貝
var objClone = Array.isArray(obj) ? [] : {};
//進行深拷貝的不能爲空,並且是對象或者是
if (obj && typeof obj === "object") {
for (key in obj) {
if (obj.hasOwnProperty(key)) {
if (obj[key] && typeof obj[key] === "object") {
objClone[key] = deepClone1(obj[key]);
} else {
objClone[key] = obj[key];
}
}
}
}
return objClone;
}
*2、通過 JSON 對象實現深拷貝**
//通過js的內置對象JSON來進行數組對象的深拷貝
function deepClone2(obj) {
var _obj = JSON.stringify(obj),
objClone = JSON.parse(_obj);
return objClone;
3、通過jQuery的extend方法實現深拷貝
var array = [1,2,3,4];
var newArray = $.extend(true,[],array);
13、閉包有哪些缺點?有哪些優點?
閉包是有權訪問另一個函數私有變量的函數叫閉包;
優點:避免變量污染、加強了封裝性,邏輯性比較強代碼的可讀性高;加載到內存中執行效率高;
缺點:在內存中,造成了內存浪費,如果濫用閉包是災難性的;
什麼是BFC?
BFC:塊級格式化上下文,它是指一個獨立的塊級渲染區域,它決定了元素如何對其內容進行定位,以及與其他元素的關係和相互作用。在進行盒子元素佈局的時候,BFC提供了一個環境,在這個環境中按照一定規則進行佈局不會影響到其它環境中的佈局。