javascript - jsオブジェクト指向
扔个三星炸死你
扔个三星炸死你 2017-06-26 10:58:46
0
4
596

すみません、new の後の mm 関数に括弧を追加するか追加しないの違いは何ですか?同じ結果が得られるのはなぜですか?
内部の原理については上級専門家に質問してください。

扔个三星炸死你
扔个三星炸死你

全員に返信(4)
大家讲道理

まず、この種の基本的な質問については、公式ドキュメントを参照することを学ぶ必要があります。
ドキュメントには詳細な手順が記載されています: new foo は、パラメータを渡さずにのみ使用できる new foo() と同等です。
もちろん、js には落とし穴があるので、ドキュメントを完全に信頼することはできません。 。
それでは何が違うのでしょうか?この
優先順位の概要に詳細な説明があります: new (パラメーターリストあり) の優先順位は 19、new (パラメーター分離なし) の優先順位は 18 なので、 new foo() が最初に実行されます

最後に、私は少し前に、新しい f()、新しい f、新しい f.g()、新しい f().g() などをテストしたかなり嫌な面接の質問についての記事を見た記憶があります。優先度の計算問題、自分で検索できます

いいねを押す +0
phpcn_u1582

MDNを参照

新しいコンストラクター[([引数])]

パラメータを渡す必要がない場合、括弧()はオプションです

いいねを押す +0
洪涛

var mm = 関数(val){

リーリー

}
var a = 新しい mm(1) ;
console.log(a)
var b = 新しい mm ;
console.log(b)

いいねを押す +0
过去多啦不再A梦

コンストラクターがパラメーターを必要としない場合、かっこを追加する場合と追加しない場合に違いはありません。

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