這幾個的用法傻傻分不清

2021-07-28 01:30:44 字數 1886 閱讀 8813

每每看到這幾個,就矇圈了,這都是啥呀?

既然這麼容易混淆,我還是來做個小筆記吧,以便日後查閱:

1.slice(陣列)

用法:array.slice(start,end)

解釋:該方法是對陣列進行部分擷取,並返回乙個陣列副本;引數start是擷取的開始陣列索引,end引數等於你要取的最後乙個字元的位置值加上1(可選)

//如果不傳入引數二,那麼將從引數一的索引位置開始擷取,一直到陣列尾

var a=[1,2,3,4,5,6];

var b=a.slice(2,4);  //[3,4]

var c=a.slice(3);    //[4,5,6]

//當只傳入乙個引數,且是負數時,length會與引數相加,然後返回其後的陣列部分。如:   

var a=[1,2,3,4,5,6];   

var b=a.slice(-1);   //[6] 。即-1+6=5,返回索引5及以後的陣列部分  

//當只傳入乙個引數,是負數時,並且引數的絕對值大於陣列length時,會擷取整個陣列  

var a=[1,2,3,4,5,6];   

var b=a.slice(-6); //[1,2,3,4,5,6] 。-6+6=0,返回索引0及以後的陣列部分  

var c=a.slice(-8); //[1,2,3,4,5,6]   

//當傳入兩個引數一正一負時,length也會先於負數相加後,再擷取

var a=[1,2,3,4,5,6];   

var b=a.slice(2,-3); //[3]

//當傳入乙個引數,大於length時,將返回乙個空陣列

var a=[1,2,3,4,5,6];   

var b=a.slice(6);  //

2.slice(字串)

用法:string.slice(start,end)

解釋:slice方法複製string的一部分來構造乙個新的字串,用法與引數勻和陣列的slice方法一樣;end引數等於你要取的最後乙個字元的位置值加上1

//舉個簡單的例子

var a="i am a boy";

var b=a.slice(0,6);  //"i am a"

3.splice(陣列)

用法:array.splice(start,deletecount,item...)

解釋:splice方法從array中移除乙個或多個陣列,並用新的item替換它們。引數start是從陣列array中移除元素的開始位置。引數deletecount是要移除的元素的個數。

如果有額外的引數,那麼item會插入到被移除元素的位置上。它返回乙個包含被移除元素的陣列。

//舉乙個簡單的例子

var a=['a','b','c'];

var b=a.splice(1,1,'e','f');  //a=['a','e','f','c'],  b=['b']

4.split(字串)

用法:string.split(separator,limit)

解釋:split方法把這個string分割成片段來建立乙個字串陣列。可選引數limit可以限制被分割的片段數量。separator引數可以是乙個字串或乙個正規表示式。如果

separator是乙個空字元,會返回乙個單字元的陣列。

//再舉乙個簡單的例子

var a="0123456";

var b=a.split("",3);  //b=["0","1","2"]

這幾個的用法傻傻分不清

每每看到這幾個,就矇圈了,這都是啥呀?既然這麼容易混淆,我還是來做個小筆記吧,以便日後查閱 1.slice 陣列 用法 array.slice start,end 解釋 該方法是對陣列進行部分擷取,並返回乙個陣列副本 引數start是擷取的開始陣列索引,end引數等於你要取的最後乙個字元的位置值加上...

MVP, MVC, MVVM, 傻傻分不清楚

最近 mvc model view controller 和 mvvm model view viewmodel 在微軟圈成為顯學,asp.net mvc 和 wpf 的 prism mvvm framework 功不可沒,mvc 和 mvvm 在概念上都是基於分層的,將呈現 presentatio...

i 與 i不要傻傻分不清

雖然這倆的區別很簡單,但是真的有很多開發人員在使用的時候不注意,一不小心就釀成大錯 下面我會用乙個深刻的例子來進行講解 i 與 i 的區別 ps 我不會告訴你這是乙個有六七年開發經驗的人所犯的錯誤的。事情的經過是這樣子的 某開發人員寫了這樣一行 如果未獲取到鎖,呼叫自身的方法 其實他想做的是,如果沒...