Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    102

    Limite massimo x una variabile stringa in javascript

    Ciao a tutti, sapete dirmi quanti byte può contenere una variabile stringa in javascript?

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    102
    mi spiego meglio: è possibile che in una variabile string (sempre in javascript) ci siano 10000 parole?

  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Dipende dalla lunghezza delle parole

    Ho provato: fino a 100000 caratteri non ho avuto problemi... poi ho esaurito la pazienza

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    102
    non sto scherzando...
    in pratica io dichiaro una stringa

    var ArrayRisposte= "";

    e poi assegno dei valori

    ArrayRisposte = ArrayRisposte + "," + elemento;

    il problema è che quando i valori iniziano ad essere tanti, ho problemi. Può dipendere dal fatto che utilizzo una variabile stringa?

  5. #5
    io sono arrivato a 5888890 con tempi di attesa pazzeschi ... questo il test
    codice:
    var maxlength = 1000000;
    var str = new Array(maxlength);
    for(var c = 0; c < maxlength; c++)
    	str.push(c);
    alert(str.join('').length);
    pero' se non erro dovrebbero corrispondere a quasi 6 mega di roba ... insomma, ci stà tanto ma tanto testo in 6 mega !




    Originariamente inviato da FraChiara
    assegno dei valori

    ArrayRisposte = ArrayRisposte + "," + elemento;
    la gestione dinamica delle stringhe è un gran casino per molti linguaggi, figuriamoci per uno runtime quale è javascript.

    Ti do 2 alternative:

    1 - non usare a = a + ',' + b; ma usare a += ',' + b;
    2 - la migliore, non usare proprio la stringa a

    Spiego il punto 2
    codice:
    // metodo "tradizionale"
    var str = '';
    for(var a = 0; a < 10000; a++)
    	str += 'qualcosa, ' + a;
    alert(str.length);
    
    
    // metodo consigliato
    var str = new Array();
    for(var a = 0; a < 10000; a++)
    	str.push('qualcosa, ' + a);
    str = str.join('');
    alert(str.length);
    noterai che con il secondo metodo difficilmente riuscirai a raggiungere periodi di attesa lunghi quanto con il primo
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.