this指向問題
1515 ワード
問題を指す
this指向
湖南省にある地名 関数プリコンパイル中、thisはwindowを指します.
関数でthisを定義します.
湖南省にある地名 グローバルスコープでは、thisはwindowを指します.
コンソールに直接出力する
湖南省にある地名 callとapplyは運転時のthisの方向を変えることができます.
具体的にブログのcallとappyを見ます.
湖南省にある地名 thisを呼び出した人は、誰を指しますか?
this練習問題
実行するthisは誰に呼び出されていませんので、グローバルに向けて出力'222'を指します.
this指向
湖南省にある地名 関数プリコンパイル中、thisはwindowを指します.
関数でthisを定義します.
function test() {
console.log(this);
}
test();
コンソール出力湖南省にある地名 グローバルスコープでは、thisはwindowを指します.
コンソールに直接出力する
湖南省にある地名 callとapplyは運転時のthisの方向を変えることができます.
具体的にブログのcallとappyを見ます.
湖南省にある地名 thisを呼び出した人は、誰を指しますか?
var test = {
a : function (){
console.log(this.name);
},
name : ' '
}
test.a();
testはthisを呼び出しますので、testを指して、最後に墨白を出力します.this練習問題
var name = '222';
var a = {
name : '111',
say : function () {
console.log(this.name);
}
}
var fun = a.say;
//a.say fun
fun();
//fun
//function () {console.log(this.name)}
// this.name window, '222'
a.say();
// a this, a, '111'
var b = {
name : '333',
say : function(fun) {
fun();
}
}
b.say(a.say);
//...
b.say = a.say;
b.say();
//b say function () {console.log(this.name)}
// b , b this, '333'
b.say(a.say)はパラメータを参照して実行します.function () {
console.log(this.name);
}
シミュレーションvar b = {
name : '333',
say : function(fun) {
(function () {
console.log(this.name);
})();
}
}
参照を実行するために使用されていますので、参照後はすぐに実行される関数です.実行するthisは誰に呼び出されていませんので、グローバルに向けて出力'222'を指します.