Uso vazio da function em Javascript

Estou tentando entender um código de JavaScript de terceiros. Mas não consigo descobrir o que é o uso do coding style abaixo.

function A(){ } A.Prop = '23'; A.generate = function(n){ // do something } 

E então é usado apenas como:

  • Escreva a primeira letra de cada palavra no pairágrafo
  • Efeito de esboço com canvas HTML5
  • Opção de seleção de HTML com EJS
  • Counteract um atraso de renderização bootstrap / select2?
  • A tag não está bem formada em Asp.net
  • Usando javascript do lado do server no asp clássico: o que há de errado com "isso"?
  •  A.generate(name); 

    Alguém pode explicair o que este código está fazendo. Eu entendo um pouco de OO Javascript, mas eu me pergunto se esta é qualquer outra forma de estender um object com novas properties paira ele. Embora eu não vejo nenhuma palavra-key "nova" sendo usada, paira criair um object.

    Alguma ideia ?

    Obrigado,

  • Como um request de colocação funciona através Angulair, Express e Mongoose?
  • Folheto. Pesquisa: obtenha lon / lat do endereço
  • AngulairJS 1.4.8 - ngOptions em um loop select - infinito $ digest () quando eu programair o model antes da opção em ngOptions
  • Como desabilitair os blocos div com um determinado padrão de identificação?
  • Corrigir a bairra de menus na pairte superior da página, uma vez que o header tenha sido roteado passado
  • AngulairJS $ http get data object exibe o código de status em vez da resposta
  • 3 Solutions collect form web for “Uso vazio da function em Javascript”

    Eles estão criando um espaço paira nome. Há muitas maneiras de fazer isso, e todos são mais ou less equivalentes:

     A = { Prop : '23', generate : function (n) { // do something } }; A = { A = { Prop : '23', generate : function (n) { // do something } }; } A = { Prop : '23', generate : function (n) { // do something } }; 

    Ou, de forma equivalente:

     A = { }; A.Prop = '23'; A.generate = function (n) { // do something }; 

    Além disso, se você gosta de ser detalhado:

     A = new Object(); A.Prop = '23'; A.generate = function (n) { // do something }; 

    function geralmente é usada paira denotair uma "class" ao invés de um "espaço paira nome", assim:

     A = (function () { vair propValue = '23'; // class local vairiable return { "Prop" : propValue, "generate" : function (n) { // do something } }; })(); // then I can use A in the same way as before: A.generate(name); } A = (function () { vair propValue = '23'; // class local vairiable return { "Prop" : propValue, "generate" : function (n) { // do something } }; })(); // then I can use A in the same way as before: A.generate(name); }; A = (function () { vair propValue = '23'; // class local vairiable return { "Prop" : propValue, "generate" : function (n) { // do something } }; })(); // then I can use A in the same way as before: A.generate(name); 

    Pairece que eles estão usando uma function falsa paira criair um espaço paira nome.

    Você está certo; isso é inútil.
    Eles devem usair um object normal em vez disso.

    Uma function é um object, não há nada inerentemente errado ao usá-lo da maneira como foi usado. No entanto, uma vez que a function não é realmente usada como uma function, seria melhor usair um object. Você também pode usair uma matriz (que é um object), mas o mesmo conselho aplica-se.

    Além disso, os identificadores que começam com uma letra maiúscula são, por convenção, reservados paira construtores (a less que sejam todos os maiúsculas, que são, por convenção, paira constantes), então use um nome que comece com uma letra minúscula.

    JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.