Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683

    assegnazione di una variabile con gli a capo

    ciao a tutti! devo assegnare un valore ad una variabile che varrà poi eseguita dall'eval
    se scrivo ad esempio:
    codice:
    $var codice="if(uno>due){
              return(uno-due);
    }
    if(due>uno){
              return(due-uno);
    }";
    mi da un errore il js che non trova la fine di quella linea, dovrei scrivere:
    codice:
    $var codice="if(uno>due){return(uno-due);}if(due>uno){return(due-uno);}";
    per farla funzionare...
    finche sono due righe va bene, ma quando ci saran cose più complesse diventa difficile da capire in una sola righa... non c'è un modo per fare le assegnazioni con gli a capo

  2. #2
    codice:
    $var codice="if(uno>due){"
    + "           return(uno-due);"
    + " }"
    + "if(due>uno){"
    + "           return(due-uno);"
    + " }";

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    peeeeeeerfetto! grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    ho un problema... se scrivo:
    variabile='for(var i=0;i<oggetti.length();i++){';
    dal simbolo minore non si assegna più, praticamente se la stampo leggo solo
    for(var i=0;i
    e non
    for(var i=0;i<oggetti.length();i++){
    come mai?

  5. #5
    Non è un problema di assegnamento, ma della visualizzazione. Il browser analizzando il contenuto da stampare sullo schermo, quando incontra "<" seguito da una lettera lo interpreta come inizio di un tag e quindi non stampa il nome del tag, che nel tuo caso è il resto della stringa. Se ti serve per forza stampare quel codice sullo schermo puoi aggiungere uno spazio dopo il carattere "<".

    Come alternativa, se ti serve solo stampare questa stringa puoi sostituire "<" con "&lt;", ma in quel caso utilizzo di quella variabile nella funzione eval sarebbe compromesso.

    Nel caso in cui non ti serve stampare la stringa ma solo eseguirla con la funzione eval, non serve ne spazio dopo ne sostituzione del carattere "<".

    Spero di essere stato di aiuto.

  6. #6
    Originariamente inviato da iacoposk8
    ho un problema... se scrivo:
    variabile='for(var i=0;i<oggetti.length();i++){';
    dal simbolo minore non si assegna più, praticamente se la stampo leggo solo
    for(var i=0;i
    e non
    for(var i=0;i<oggetti.length();i++){
    come mai?
    length() non è una funzione ma una proprietà

    cioè non
    i<oggetti.length();
    ma:
    i<oggetti.length;

    senza le tonde.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    purtroppo non cambia... anche se metto in maggiore in un punto diverso, me lo interrompe li

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    non c'è modo?

  9. #9
    Ma guarda a parte che il codice javascript è sbagliato, per più motivi:

    if(uno>due){return(uno-due);}
    if(due>uno){return(due-uno);}

    1) e se uno==due?
    2) entrambe le espressioni vengono valutate ed eseguite

    per cui semmai

    if(uno>=due){return(uno-due);}
    else if(due>uno){return(due-uno);}

    Poi come ti dicevo length non è una funzione: togli le parentesi che ci hai messo length()

    Quanto a $var, che cosa sarebbe scusa? php o javascript? perchè se è javascript:
    var
    non $var

    Per il resto, qualsiasi cosa tu stia facendo, c'è un errore concettuale a monte: javascript non deve essere diviso in stringe da concatenare.
    Qualsiasi cosa tu stia facendo, e per quanto adesso ti sembri del tutto indispensabile necessario fondamentale assolutamente imperativo usare javascript mettendolo fra apici, la verità è che sicuramente non è affatto necessario e basterebbe vedere a che punto dei tuoi codici è insorta questa presunta necessità (o errore) e a quale scopo, per trovare subito e senz'altro un modo più diretto (e probabilmente anche piu semplice) di ottenere la stessa cosa senza ricorrere a un javascript... "stringato".

    L'uso di eval, infatti, è del tutto da scoraggiare in javascript. Il fatto che la funzione sia presente significa solo che in casi del tutto eccezzionali può tornare utile, ma è tipico di chi non conosce javascript usare eval per fare il parsing di codici lunghi - eval, se bene usato, viene usato pochissimo e per espressioni brevissime.

    Per cui semmai dicci perchè stai mettendo codice javascript in stringhe e postaci un codice più completo di quel che stai cercando di fare.
    ciao

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    per la cosa del maggiore uguale l'avevo considerato in un passaggio prima per cui se arriva in quel punto i valori son sempre diversi... per il $ è vero... è solo che sto usando un pò di js php e jquery dove il $ è presente in tutte e due, ma ancora non ho eseguito il codice nell'aval... mi sarei accorto nel momento dell'esecuzione...

    se c'è un modo per non usare l'eval ben venga, posso stare un pò sul vago? perchè è una bella idea e non vorrei me la rubasse qualcuno

    in sostanza, creo una sorta di "IDE", il mio script in base a dei parametri crea un codice che uno potrà poi riutilizzare nelle sue pagine... e senza eval si può, però viene quasi il doppio del codice e poi con l'eval mi fa anche da test che il codice che fornisco funziona

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.