面試之css和js

2021-09-25 21:23:23 字數 1133 閱讀 1291

function.prototype.mycall = function(context) 

//當傳入的context為基礎型別時,直接掛載fn會報錯,因為基礎型別沒有屬性這一說

if(typeof context !== 'object') context=new object(context);

context = context || window //context 為可選引數,如果不傳的話預設上下文為 window

context.fn = this //給 context 建立乙個 fn 屬性,並將值設定為需要呼叫的函式,因為this指向的是乙個物件,是呼叫該函式的物件,所以指向的就是我們需要呼叫的函式,因為是我們需要呼叫的函式呼叫call函式,並且將這個函式賦給了fn。

const args = [...arguments].slice(1) //call 可以傳入多個引數作為呼叫函式的引數,所以需要將引數剝離出來

const result = context.fn(...args) //因為fn被賦值成了乙個函式,函式括號內為引數,所以就可以呼叫了。

delete context.fn //呼叫函式並將物件上的函式刪除,(記住就好。)

return result

}

context.fn = this

let args = arguments[1]

let result

if (args) else

手寫bind

function.prototype.bind2 = function (obj) 

var that = this;

var args = .slice.call(arguments,1);

var func = function () ;

fnop.prototype = this.prototype; //利用空函式fnop實現繼承原型鏈同時又不改變原函式的原型鏈

fbound.prototype = new fnop();

return func;

};

WordPress速度提公升之CSS和JS的合併壓縮

相信大家都很關心自己部落格的開啟速度,別說半天打不開,3秒內不能完全開啟就是一件很糾結的事情 糾結 被人傳染了 此文適合不能夠一步開啟全站壓縮的朋友,即css js 網頁等。一般我們說的壓縮就是對網頁進行gzip傳輸,檢測和開啟的方法就不囉嗦了,網上一大堆的。最開始我用 wordpress 啟用gz...

JS動態載入CSS和JS

這兩天工作時用到動態載入css和js的地方比較多,這裡稍微做下整理。if this.readystate this.readystate loaded this.readystate complete 因為在ie中使用onreadystatechange,而gecko,webkit 瀏覽器和oper...

面試之js演算法類

計算字串 現次數最多的字元及其次數 給定兩個陣列,找出第二個陣列沒有的數字 陣列的去重 利用math求最大值 9 9 乘法表 寫乙個千位分隔符新增函式,千位分隔符可以手動設定,預設文逗號 如何讓 nodelist 使用array中的map方法 不知道大小,設定,如果是長的就橫向排列,短的就縱向排列,...