物件.方法();
誰呼叫該方法this就指向誰、
call()語法:
call()精華:
讓乙個函式成為指定物件的方法進行呼叫。
person.call(document); //等價於 document.person(); 因此this就指向了括號裡的document
//方法.call(物件);
原理是一樣,只是傳參的形式不一樣
bind():
有返回值,需要return
let 新函式 =函式.bind (obj);//新函式的this。會永久的指向obj,所以就是this被繫結了
手動實現乙個bind方法:
function.prototype.bind = function(target)
}
偽陣列變真陣列
array.prototype.slice.call();
es6中array.from方法
call apply和bind的原理
call 作用 call 方法就是使用乙個指定this值和若干個指定引數值的前提下呼叫摸個函式或方法。var foo function bar 如果不對this進行繫結執行bar 會返回undefined bar.call foo 1也就是說call 改變了this的指向,指向了foo 下面進行一下...
call apply和bind的用法
在改變this指向的時候,經常會把這三個方法混淆,下面就詳細的整理一下三者的用法和區別 var a var b b.sayname.call a,1,2,3 輸出 張三 6第乙個引數是改變 this 指向的物件 第二個引數必須是乙個陣列 使用後會自動執行 var a var b var arr 1,...
call apply和bind方法詳解
call方法 使用乙個指定的this值和單獨給出的乙個或多個引數來呼叫函式。var obj function getname name getname.call obj mei var obj function getname name,age 這兩種方法的用途很多,下面我就舉幾個例子。1.基本用法...