JavaScript this対象のまとめ
1404 ワード
thisキーワードは、その関数を含むオブジェクトのメソッドとして呼び出された時のオブジェクトです.
変数と違って、キーワードthisは機能領域の制限がなく、入れ子の通信は呼び出し関数からthisを継承しません.ネスト関数がメソッドとして呼び出された場合、そのthis値は彼を呼び出す対象を指し、ネスト関数が関数として呼び出された場合、そのthis値はグローバルオブジェクトではなくundefinedである.
上は2冊の比較的権威のある本で、jsの定義に対して.
thisはjsのキーワードです.関数の使用によって、thisの値が変わります.でも、一つの原則があります.つまり、thisは関数を呼び出す対象だけです.
JavaScriptには他の言語とは全く異なる対応メカニズムがあります.5つの異なる場合、thisはそれぞれ異なる対象を指す.グローバル範囲内 関数呼び出し メソッド呼び出し 構築関数を呼び出します. は、this を示しています. Funtions.prototype上のcallまたはapply方法を使用すると、関数内部のthisが関数呼出しの最初のパラメータ として明示的に設定されます.特殊事情
7.自分で集めた
変数と違って、キーワードthisは機能領域の制限がなく、入れ子の通信は呼び出し関数からthisを継承しません.ネスト関数がメソッドとして呼び出された場合、そのthis値は彼を呼び出す対象を指し、ネスト関数が関数として呼び出された場合、そのthis値はグローバルオブジェクトではなくundefinedである.
上は2冊の比較的権威のある本で、jsの定義に対して.
thisはjsのキーワードです.関数の使用によって、thisの値が変わります.でも、一つの原則があります.つまり、thisは関数を呼び出す対象だけです.
JavaScriptには他の言語とは全く異なる対応メカニズムがあります.5つの異なる場合、thisはそれぞれ異なる対象を指す.
this;// this,this window
: foo();// foo this 。 window
: test.foo();// foo this test 。
new foo();// new , 。 this
Foo.method = function(){
function test(){
//this ( window )
}
}
よくある誤解はtestの中のthisはFooの対象を指します.実は彼はwindow全体の対象を指しています.7.自分で集めた
var shi = {
init:function(){
this.button();
},
button:function(){
console.log(this == shi);//true
console.log(this);//Object
console.log("shi----button")
}
}
一つのjsonオブジェクトの中のthisは彼自身を表しています.