1-call()方法呼叫乙個物件。簡單理解為呼叫函式的方式,但是它可以改變函式的 this 指向
// 一般應用於繼承
var o =
function
fn(a, b);fn
()// 此時的this指向的是window
fn.call
(o,1,2
)//此時的this指向的是物件o,引數使用逗號隔開
// 經常用域陣列中
var o =
function
fn(a, b);fn
()// 此時的this指向的是window
fn.(o,[1
,2])
//此時的this指向的是物件o,引數使用陣列傳遞
3-bind() 方法不會呼叫函式,但是能改變函式內部this 指向,返回的是原函式改變this之後產生的新函式
// 如果只是想改變 this 指向,並且不想呼叫這個函式的時候,可以使用bind
var o =
;function
fn(a, b)
;var f = fn.
bind
(o,1,2
);//此處的f是bind返回的新函式f(
);//呼叫新函式 this指向的是物件o 引數使用逗號隔開
改變函式內部 this 指向
var o function fn a,b fn.call o,1,2 var arr 1 66,3 99,4 var max math.max.math,arr var min math.min.math,arr console.log max,min bind 方法 bind 方法不會呼叫函式。...
js中this指向與改變
下面展示一些內聯 片。a code block var foo bar 一 普通函式呼叫 指向windows function f01 f01 直接呼叫 二 構造函式呼叫 指向當前例項物件 function f02 name,age var f2 newf02 阿力 18 三 物件方法呼叫 thsi...
js中的this指向和改變this指向的方法
徹底理解js中this的指向,不必硬背。首先必須要說的是,this的指向在函式定義的時候是確定不了的,只有函式執行的時候才能確定this到底指向誰,實際上this的最終指向的是那個呼叫它的物件 這句話有些問題,後面會解釋為什麼會有問題,雖然網上大部分的文章都是這樣說的,雖然在很多情況下那樣去理解不會...