recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - js orienté objet

Excusez-moi, quelle est la différence entre ajouter ou non des parenthèses dans la fonction mm après nouveau. Pourquoi est-ce que j'obtiens les mêmes résultats ? Un expert senior peut-il expliquer le principe ?

扔个三星炸死你扔个三星炸死你2781 Il y a quelques jours653

répondre à tous(4)je répondrai

  • 大家讲道理

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

    Tout d'abord, pour ce genre de question basique, vous devez apprendre à consulter la documentation officielle.
    La documentation contient des instructions détaillées : new foo est équivalent à new foo(), qui ne peut être utilisé que sans passer de paramètres.
    Bien sûr, vous ne pouvez pas faire entièrement confiance à la documentation, après tout, les pièges de js. .
    Alors quelle est la différence ? Il y a des explications détaillées dans ce
    résumé des priorités : new (avec liste de paramètres) a une priorité de 19, et new (sans séparation des paramètres) a une priorité de 18, donc new foo() sera exécuté en premier

    Enfin, je me souviens avoir vu il n'y a pas longtemps un article sur une question d'entretien plutôt dégoûtante, qui testait..., new f(), new f, new f.g(), new f().g(), etc. problème de calcul de priorité, vous pouvez le rechercher vous-même

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-06-26 11:00:46

    Référez-vous à MDN

    nouveau constructeur[([arguments])]

    Lorsqu'il n'est pas nécessaire de passer des paramètres, les parenthèses () sont facultatives

    répondre
    0
  • PHP中文网

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

    var mm = fonction(val){

    this.m = val

    }
    var a = nouveau mm(1) ;
    console.log(a)
    var b = nouveau mm ;
    console.log(b)

    répondre
    0
  • 过去多啦不再A梦

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

    Si le constructeur ne nécessite pas de paramètres, il n'y a aucune différence entre ajouter et ne pas ajouter de parenthèses.

    répondre
    0
  • Annulerrépondre