語法: 函式.call(this, arg1, arg2, arg3, arg4)
第乙個引數用來指定函式內部的this指向,後面的引數是函式執行時所需的實參。
window.color =
'red'
;document.color =
'yellow'
;var s1 =
;function
changecolor()
changecolor.
call()
;//red (預設傳遞引數)
changecolor.
call
(window)
;//red
changecolor.
call
(document)
;//yellow
changecolor.
call
(this);
//red
changecolor.
call
(s1)
;//blue
eg2
var pet =
}pet.
speak
('speak');
// 結果:speak...
var dog =
pet.speak.
call
(dog,
'speak'
)//結果 speakwang
function
pet(words)
}function
dog(words)
var dog =
newdog
('wang');
dog.
speak()
;
語法: 函式.bind(this);
該方法返回乙個函式,是乙個新的函式,
this
.name=
"jack"
;var demo=}
console.
log(demo.
getname()
);//輸出rose 這裡的this指向demo
var another=demo.getname;
console.
log(
another()
)//輸出jack 這裡的this指向全域性物件
//運用bind方法更改this指向
var another2=another.
bind
(demo)
;console.
log(
another2()
);//輸出rose 這裡this指向了demo物件了;
改變JS中的this指向的方法
1.全域性呼叫 函式名 指向 window 2.物件呼叫 物件.函式名 誰呼叫指向誰 前面是誰就指向誰 3.自執行的函式 指向window 4.事件處理函式 指向事件源 5.定時器處理函式 指向事件源 6.函式定義了未呼叫的時候指向不確定 call 語法 函式名.call 你要改變的函式的 this...
this指向及改變this指向的方法
一 函式的呼叫方式決定了 this 的指向不同,但總的原則,this指的是呼叫函式的那個物件 1.普通函式呼叫,此時 this 指向 全域性物件window function fn fn 此處預設省略window 2.在嚴格模式下 use strict 為undefined.function foo...
js中改變函式內部this指向的方法
1 call 方法呼叫乙個物件。簡單理解為呼叫函式的方式,但是它可以改變函式的 this 指向 一般應用於繼承 var o function fn a,b fn 此時的this指向的是window fn.call o,1,2 此時的this指向的是物件o,引數使用逗號隔開 經常用域陣列中 var o...