javascript - 回答: インスタンス オブジェクトがコンストラクターを呼び出すとき、コンストラクター内でこれは何の意味があるのでしょうか?
ringa_lee
ringa_lee 2017-07-05 10:39:35
0
1
785

この問題は、実際には jQuery ソース コードを分析しているときに発生します。var ret = jQuery.merge(this.constructor(), elems );、this.constructor() が返すものは次のとおりです。 init メソッドによって作成された空のインスタンス オブジェクト。したがって、この方向性については迷っています。
以下はテストコードです:

リーリー

ここでconstructor()を直接呼び出すと、thisのポインタが変化し、新しいオブジェクトが自動的に作成されるのはなぜですか? constructor() メソッドの内部実装はこれに影響しますか?

ringa_lee
ringa_lee

ringa_lee

全員に返信(1)
某草草

これとconstructor()方法的内部实现没有什么关系,其实就是函数内this指向的问题。
当函数作为对象的属性调用的时候,this指向这个对象;
当函数直接调用的时候,在非严格模式下,this指向window
p1.constructor指向的就是Person函数,当调用p1.constructor();时,Person是作为p1的属性调用的,所以this指向p1;当调用var p2 = p1.constructor;p2();时,其实就相当于直接调用Person();,所以this指向window

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!