改變函式中的this

2021-10-21 21:45:57 字數 851 閱讀 6123

有這樣的3個方法可以改變函式體的this指向:

var test = function(x);

//bind 方法,bind方法返回乙個指定this物件的函式,對源函式沒有影響。-----------

var bdingfn = test.bind();

bdingfn(9);

//'bindding'

//9//另外,可以給test函式換乙個this物件 -----------

var bdingfn1 = test.bind(); //這一執行不影響先前繫結返回的函式

bdingfn1(10);

//'this changed'

//10

bdingfn.call(, 288);

//'bindding'

//288

test.call(, 9);

test(9);

//'call'

//9//9

test.call();

//以及bind方法也是

test.bind()();

//關於bind,bind還可能繫結函式地引數,一旦bind,不能修改,後續傳給bind返回地函式地引數,-----

//都將續在之前繫結的引數後面

var test = function()

var fn = test.bind(null, 2, 4);

fn();

//arguments[2, 4 ,...]

fn(10, 9);

//arguments[2, 4 , 10, 9, ...]

其他文件:

es函式、箭頭函式中的this

通過bind改變處理函式中的this指向

通過bind 改變事件處理函式中this的指向 mdn解釋 bind方法會建立乙個新函式 稱為繫結函式 當呼叫這個繫結函式時 繫結函式會以建立它時傳入bind 方法的第乙個引數作為this 傳入bind 方法的第二個以及以後的引數 按照順序作為原函式的引數來呼叫原函式 注意 bind方法的返回值是函...

js中改變函式內部this指向的方法

1 call 方法呼叫乙個物件。簡單理解為呼叫函式的方式,但是它可以改變函式的 this 指向 一般應用於繼承 var o function fn a,b fn 此時的this指向的是window fn.call o,1,2 此時的this指向的是物件o,引數使用逗號隔開 經常用域陣列中 var o...

函式被改變

在課上,通過引用傳遞引數,我們覆蓋的傳遞函式引數為const變數的優點。總的來說,決策變數常量確保它們的值是不小心更改。這是特別重要的傳遞變數的參考,為來電者一般不會期望值傳遞給乙個函式被改變。就像內建的資料型別 int,char,雙,等 類的物件可以通過使用const關鍵字宣告為const。所有的...