すみません、new の後の mm 関数に括弧を追加するか追加しないの違いは何ですか?同じ結果が得られるのはなぜですか?
内部の原理については上級専門家に質問してください。
大家讲道理2017-06-26 11:00:46
まず、この種の基本的な質問については、公式ドキュメントを参照することを学ぶ必要があります。
ドキュメントには詳細な手順が記載されています: new foo は、パラメータを渡さずにのみ使用できる new foo() と同等です。
もちろん、js には落とし穴があるので、ドキュメントを完全に信頼することはできません。 。
それでは何が違うのでしょうか?この
優先順位の概要に詳細な説明があります: new (パラメーターリストあり) の優先順位は 19、new (パラメーター分離なし) の優先順位は 18 なので、 new foo() が最初に実行されます
最後に、私は少し前に、新しい f()、新しい f、新しい f.g()、新しい f().g() などをテストしたかなり嫌な面接の質問についての記事を見た記憶があります。優先度の計算問題、自分で検索できます
PHP中文网2017-06-26 11:00:46
var mm = 関数(val){
リーリー}
var a = 新しい mm(1) ;
console.log(a)
var b = 新しい mm ;
console.log(b)