你不知道的js bind功能及實現

2021-09-10 22:18:22 字數 728 閱讀 9174

假如有下列**

function a(){} 

var o = {};

var x = 1;

var y = 2;

var z = 3;

var b = a.bind(o,x,y);

b('c')

首先,bing函式的作用:

函式a呼叫bind方法時,需要傳遞的引數為 o, x, y,z.....

返回新的函式b

函式b在執行時,實際的函式功能還是a的功能,只不過函式內部this的指向變為了引數o,如果沒有引數,則this的指向還是window

函式b在執行時,傳遞的引數會拼接到x,y的後面,一併在內部傳遞給a執行

new b()時的建構函式依舊是a,a函式內部this指向不會發生改變,o不起任何作用。

寫乙個newbing()方法,實現bing的功能。

function.prototype.newbing = function(target);  //緩衝函式(聖杯模式)

var f = function()

temp.prototype = self.prototype;

f.prototype = new temp(); //建立繼承關係,聖杯模式 以f為建構函式去建立出的物件,能找到self. 實現5的功能。

return f;

}

你不知道的 和

開發中,編寫有一定逼格的 是每個程式猿都追求的。經常用來判斷的符號 和 也經常用來定義變數哦,你知道嗎?邏輯與 在有乙個運算元不是布林值的情況下,就不一定返回布林值。比如以下情況 1 第乙個運算元是物件,返回第二個數 var myinfo console.log myinfo 2 輸出22 第二個運...

你不知道的box shadow

我們可以僅使用乙個div利用shadow配合animation實現很多豐富的效果 github 求 必需。水平陰影的位置。允許負值。v shadow 必需。垂直陰影的位置。允許負值。blur 可選。模糊距離。spread 可選。陰影的尺寸。color 可選。陰影的顏色。請參閱 css 顏色值。ins...

你不知道的 gitignore

乙個.gitignore檔案顯式地指定了哪些檔案不應被git追蹤,即被git忽略掉。在被gitignore之前已經被git追蹤的檔案不受gitignore規則的影響。關於gitignore規則的詳情請繼續往下看。gitignore檔案中的每一行都指定了一種匹配模式。通常來說,git會從多個可能的規則...