ホームページ >ウェブフロントエンド >jsチュートリアル >jsでのthisの使い方をコードで簡単に解説_基礎知識

jsでのthisの使い方をコードで簡単に解説_基礎知識

WBOY
WBOYオリジナル
2016-05-16 17:28:051107ブラウズ

今日、友人が次のコードに遭遇したと言い、その理由を説明してもらいました

コードをコピーしてください コードは次のとおりです:

var name = "ウィンドウ";
var object = {
name : "My Object",
getNameFunc : function(){
return function( ){
これを返します;
}
};

alert(object.getNameFunc()()); js は動的に決定され、それをどのように呼び出すかは直接的な関係があります。

簡単に言えば、関数を呼び出すときに「object.function name」メソッドを使用する場合、これは . (ドット) の前のオブジェクトであり、それ以外の場合はウィンドウです。
たとえば、object.getNameFunc() を呼び出すと、getNameFunc 関数本体の this は、宣言したばかりのオブジェクトになります。

コード をコピーすると、コードは次のようになります:
var func = object。 getNameFunc;
func();

このとき、getNameFunc 関数本体の this は window ですが、同じ関数を呼び出す場合の違いがこの違いを決定します。
同様に、object.getNameFunc() は関数参照を返します。括弧を追加すると、関数を実行できます。実際、これは次のコードと同等です

コードをコピーします コードは次のとおりです:
var func = object.getNameFunc( );
alert( func() );

関数を実行するときは、次のようになります。ウィンドウを開くと、結果は明らかです。

今後、これについての記事を書きます。皆さんも私の CSDN ブログ tt361 をフォローしてください。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。