ホームページ > ウェブフロントエンド > jsチュートリアル > Javascript トラップ ウィンドウ グローバル オブジェクト_JavaScript スキル

Javascript トラップ ウィンドウ グローバル オブジェクト_JavaScript スキル

WBOY
リリース: 2016-05-16 18:58:13
オリジナル
1027 人が閲覧しました

function Test(){
this.name='Test';
this.show=function(){
alert(name); name);//表示名
}
}
var test=new Test();//コンストラクターを通じてオブジェクトを作成します
test.show();//出力 2 と 'Test ' は、オブジェクト メソッドがプロパティにアクセスするときにこれを追加する必要があることを示します。アラート (名前);
alert(this.name);
}
Test();//
var test2(); 🎜 >test2.show();//Test と Test2 が出力されます。name の値は何ですか?
alert(name); show (); //出力 2, テスト; これはバグですか? >/ / 実行結果は ff と ie6 の両方で同じでした。バグではないようです。なぜでしょうか。
// 注: オブジェクト メソッドがそのオブジェクトのプロパティにアクセスするときは、 | これを追加する必要があります。 , デフォルトはウィンドウオブジェクトのメソッドです。
//関数を直接呼び出す場合、window を介してメソッドを呼び出すのと同じです。その場合、メソッド内の this は当然
//window オブジェクトとなり、this.name='Test' で属性を window に追加します。 object.
// メソッドのローカル スコープで name が定義されていない場合、alert(name) を呼び出すことは、alert(window.name) を呼び出すことと同じです。/*ああ、コードが混乱しています。 。これは重大な罠のようです! ! */

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート