javascript - これが指摘する問題
ringa_lee
ringa_lee 2017-05-19 10:08:29
0
3
518
リーリー

var a = new Persion('Tom') のとき、self と this はまだ Persion を指しています。a.before().after() を実行すると、self は Window を指しています。これを保存するために self を使用したいのです。人為的に自分を変えたわけではないのに、なぜ自分の価値が変わるのか、その原理は何なのか。

補足:
は先頭の文です var self= this; デバッグ中にselfがPersionからwindowに変わっていることがわかり、前後の宣言をコメントアウトしたところ、selfが宣言されていない場合は出力が変わることがわかりました。未定義ではありませんでしたが、ウィンドウ

です
ringa_lee
ringa_lee

ringa_lee

全員に返信(3)
左手右手慢动作

self 変数は before 関数で定義されていないため、ここでの self は window.self を指します。
self プロパティは、ウィンドウ自体への読み取り専用の参照を返します。 Window プロパティと同等です。

いいねを押す +0
黄舟

前後の _self の値は未定義です

いいねを押す +0
巴扎黑

問題があることを理解しています。私の問題はコードから抽出され、単純化されています。元のコードには非同期部分があり、これは非同期部分のウィンドウになります。デバッグ中に、先頭の文 var self= this の self が Persion から window に変わっていたので、self に何か問題があるのではないかと思いました。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート