對於雙向繫結的理解(vue2.0 對比 vue3.0)
首先
vue2.0 雙向繫結使用的是 object.defineproperty
具體**
// vue 2
var obj =
//深拷貝
let newobj =
json
.parse
(json
.stringify
(obj))
object.
defineproperty
(obj,
'name',,
set(newval)
})
弊端 需要進行深拷貝 如果有多個屬性就需要遍歷vue 3.0 使用
//obj 是需要監聽的物件
obj =
newproxy
(obj,
,get
(target,key)
})
對比vue2.0 他不再需要遍歷每個屬性 也不用進行深拷貝
在2023年以前基本沒有跨域問題,那時候前後端還沒有分離,前端**和後端都部署在乙個伺服器上,之後因為前後端分離才需要解決跨域問題。首先解決跨域問題是方法是jsonp
""
>
因為 script 是不存在跨域問題的 所以jsonp的玩法就是
""
>
func
(data)
給伺服器傳func方法
伺服器會準備資料存在func()
傳送回去
jsonp的弊端
只能傳送get
不安全有快取
大小限制小
之後也有用iframe解決跨域
然後現在用的就是cors後端解決跨域
開發的時候用proxy解決跨域但是打包後就沒有webpack
所以就需要用nginx
陣列去重(索引塌陷效能不好)
// 陣列去重
var arr =[2
,2,3
,2,7
,9,0
,9,5
,6];
// 演算法的方法
for(
var i =
0;i1;i++)}
} console.
log(arr)
es6中的new set()方法
var arr =[2
,2,3
,2,7
,9,0
,9,5
,6];
// 直接用es6的方法
//new set()得到的是乙個類物件
let newarr =
[...
newset
(arr)
];
運用類 中 屬性名不能重複的方法去重
// 類 處理
var obj =
arr.
foreach
(v=>})
var newarr =
;for
(key in obj)
console.
log(newarr)
氣泡排序
兩兩比較 10個元素需要比9次
// 氣泡排序
var arr =[2
,2,3
,2,7
,9,0
,9,5
,6];
for(
var i=
0;i1;i++)}
} console.
log(arr)
sort排序
// sort
var arr =[2
,2,3
,2,7
,9,0
,9,5
,6];
arr.
sort
((a,b)
=>a-b)
console.
log(arr)
選擇排序
從左到右 每次找到最小的 交換到前面來
// 選擇排序
var arr =[2
,2,3
,2,7
,9,0
,9,5
,6];
for(
var i =
0; i < arr.length -
1; i++)}
arr[i]
= index
} console.
log(arr)
插入排序
像撲克摸牌一樣 抽一張牌對比手上的牌 如果找都手上的一張牌比摸得牌大就把這張牌插入 找到的下標前面
// 插入排序
var newarr =
; newarr.
push
(arr[0]
);for(
var i=
1;i) newarr.
splice
(index,
0,arr[i])}
console.
log(newarr)
快速排序
找中軸 抽離出來 剩下的數比中軸大的放右邊 小的放左邊左遞迴 右遞迴
// 快速排序
function
quick
(arr)
else})
return
quick
(leftarr)
.concat
(centeitem,
quick
(rightarr))}
console.
log(
quick
(arr)
)
es6扁平化處理
// 扁平化處理es6
var arr1 =[1
,2,[
3,4]
];console.
log(arr1.
flat
(infinity
))
變成字串
var arr1 =[1
,2,[
3,4]
];// console.log(arr1.flat(infinity))
console.
log(arr1.
tostring()
.split
(','
))
迴圈 判斷裡面的原生v是不是陣列
var arr1 =[1
,2,[
3,4]
];// console.log(arr1.flat(infinity))
while
(arr1.
some
(v=>array.
isarray
(v))
) console.
log(arr1)
面試題記錄
面試題記錄 2012年6月13日杭州某網路技術公司 1,空指標自加 int p int pa null p pa p 求p的值 這道題考的貌似指標的加法,因為對於空指標比較敏感直接感覺有問題,所以填寫出錯.到底如何呢?直接反彙編之 int p int pa null 010d14f1 mov dwo...
面試題記錄
筆試面試題總結 1,var a 0 function a catch e 0 this.b bbb var aa new a settimeout function 0 settimeout的作用域是window,所以結果為1,2,bbb,b但是將 中的第二個settimeout去掉之後,結果為1,...
面試題記錄
1 linux實時檢視日誌 tail f catalina.out 2 linux檢視埠是否被占用 etstat tunlp grep 埠號,用於檢視指定埠號的程序情況 lsof i 80 3 linux查詢abc開頭的檔案的第一行輸出到指定檔案 system bin sh ls users zha...