純函式
純函式是這樣一種函式,即相同的輸入,永遠會得到相同的輸出,而且沒有任何可觀察的副作用,
比如 slice 和 splice,這兩個函式的作用并無二致——但是注意,它們各自的方式卻大不同,但不管怎么說作用還是一樣的,我們說 slice 符合純函式的定義是因為對相同的輸入它保證能回傳相同的輸出,而 splice 卻會嚼爛呼叫它的那個陣列,然后再吐出來;這就會產生可觀察到的副作用,即這個陣列永久地改變了,
var xs = [1,2,3,4,5];
// 純的
xs.slice(0,3);
//=> [1,2,3]
xs.slice(0,3);
//=> [1,2,3]
xs.slice(0,3);
//=> [1,2,3]
// 不純的
xs.splice(0,3);
//=> [1,2,3]
xs.splice(0,3);
//=> [4,5]
xs.splice(0,3);
//=> []
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/251578.html
標籤:其他
