Con le date il codice da di matto o forse non è così

napuleone

Utente Attivo
12 Nov 2014
76
0
6
Il codice con i numeri funziona ma con le date da di matto

JavaScript:
var Inizio1=new Date();
var Inizio2;
Inizio2=Inizio1;
Inizio2.setMonth(Inizio1.getMonth()+1);

alla fine Inizio1 prende il valore di Inizio2 ma perchè?

provato anche con
JavaScript:
var Inizio1=new Date();
var Start,Inizio2,aa;
Inizio2=Inizio1;
var aa=Inizio1.getMonth()+1
Inizio2.setMonth(aa);

stessa cosa, non voglio perdere il valore iniziale di Inizio 1

per l'amministratore: la possibilità di inserire codice c'è in due posti, nel precedente ho usato il primo, mi spiace, consiglierei di toglierlo.
 
Prova a fare
JavaScript:
let primaData = new Date();
let secondaData = primaData;
secondaData.setMonth(secondaData.getMonth() + 1);
 
alla fine Inizio1 prende il valore di Inizio2 ma perchè?
provo a spiegare così,

supponi di avere una scatola a cui dai il nome "Inizio1"
dentro la scatola ci metti il risultato di "new Date()"
alla stessa scatola dai anche il nome "Inizio2", lo hai scritto tu "Inizio2=Inizio1;"
quindi la scatola é una sola con 2 nomi
i 2 nomi "Inizio1" e "Inizio2" identificano la stessa scatola
qualunque operazione tu faccia con i 2 nomi, la fai sulla stessa scatola
 
provo a spiegare così,

supponi di avere una scatola a cui dai il nome "Inizio1"
dentro la scatola ci metti il risultato di "new Date()"
alla stessa scatola dai anche il nome "Inizio2", lo hai scritto tu "Inizio2=Inizio1;"
quindi la scatola é una sola con 2 nomi
i 2 nomi "Inizio1" e "Inizio2" identificano la stessa scatola
qualunque operazione tu faccia con i 2 nomi, la fai sulla stessa scatola
Ma con i numeri funziona come dovrebbe e le due variabili hanno alla fine due valori diversi mentre con le date no, alla fine hanno lo stesso valore.
Ogni variabile è una scatola, il fatto che io le ponga uguali è solo un passaggio temporaneo, devo avere la seconda variabile diversa dalla prima dalla quale dipende.
 
Ultima modifica:

Discussioni simili