Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Nomi di variabili strani

    Ho scoperto una cosa strana:
    usando la sintassi delle parentesi quadre è possibile inserire nei nomi delle proprietà, caratteri che normalmente hanno un significato; ad esempio è possibile creare variabili dal nome:
    window["ciao[[[abc]"]
    che contengono parentesi.

    Lo so che è una cosa di poco conto, ma è un bug o posso creare variabili del genere tranquillamente?

  2. #2
    Non è un bug. Per quanto riguarda la creazione degli oggetti, ci sono 2 sintassi per definire un membro dell'oggetto:

    codice:
     
    obj=new Object();
    obj.var1='ciao'; //prima sintassi
    obj["strange[var]"]='ciao2'; //seconda sintassi
    chiaramente se usi la seconda sintassi hai la possibilità di inserire qualsiasi carattere perchè definisci il nome di una variabile dentro una stringa, ma se ci sono caratteri strani, non potrai poi usare la prima sintassi per accedere a quel valore.

    La stesse identiche sintassi le puoi usare per definire elementi con indici sotto forma di stringa (associativi) negli Array.

    codice:
     
    arr=new Array();
    arr.var1='ciao'; //prima sintassi
    arr["strange[var]"]='ciao2'; //seconda sintassi
    un pò come si usa sull'array elements dei form quando ci si deve riferire ad input che sono degli array

    codice:
     
    document.form.elements['inputarr[]']
    ho notato inoltre che se aggiungi 10 elementi associativi ad un array, la lunghezza rilevata (arr.length) è sempre 0. Sono rilevanti solo gli elementi con indici nemerici
    Michele Castellucci
    Sviluppatore Web del Consorzio CottonBit
    Consorzio Cottonbit
    Risorse per la programmazione
    Dire Fare Programmare!

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.