面試題 js重寫原生函式(以push為例)

2022-01-29 06:48:25 字數 530 閱讀 3235

先說明一下為什麼要寫這個,因為最近在面試,面試的時候面試官問了這個問題,當時是真的沒有答上來,回來之後自己考慮了一下,現在給大家分享

重寫js push函式,使其能夠在push的同時列印出push的元素

有的同學有可能想要用array.array.prototype.push = function(){}來重寫,但是這樣子的話push原本的函式內容就會丟失,你得重寫push的邏輯,這樣就很麻煩。於是我們想到得先把原本的push函式備份一下,然後重寫的時候呼叫就可以了。

let _push = array.prototype.push

array.prototype.push = function()

console.log('引數為', arguments);

}let a = [1,2,3]

a.push(4,5,6)

這個時候控制台已經列印出了我們想要的結果

mdn web文件

js函式面試題

一var name the window var object alert object.getnamefunc 題中有兩個alert輸出,我們首先看第乙個alert,這個alert所在的函式是在最後乙個alert裡面被呼叫的,呼叫的時候,裡面的this指向的是object,所以是在object裡面...

常見面試題 重寫strcpy 函式原型

已知strcpy函式的原型是 char strcpy char strdest,const char strsrc 1.不呼叫庫函式,實現strcpy函式 2.解釋為什麼要返回char 1.strcpy的實現 char strcpy char strdest,const char strsrc 1 ...

函式面試題

面試題的理解文件 第一題 var num function fun num 18 fun 理解 結果是undefined,但是num的值為18,函式裡面的num的值為20,這串 是由上到下的循序執行的,而這裡的num如果在函式裡面則會去找自己裡面的,如果有則會使用自己裡面的num,如果沒有則會去父級...