検索

ホームページ  >  に質問  >  本文

javascript - jsオブジェクト指向

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

扔个三星炸死你扔个三星炸死你2758日前636

全員に返信(4)返信します

  • 大家讲道理

    大家讲道理2017-06-26 11:00:46

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

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

    返事
    0
  • phpcn_u1582

    phpcn_u15822017-06-26 11:00:46

    MDNを参照

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

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

    返事
    0
  • PHP中文网

    PHP中文网2017-06-26 11:00:46

    var mm = 関数(val){

    リーリー

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

    返事
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-26 11:00:46

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

    返事
    0
  • キャンセル返事