OK, ora parliamo di variabili. È possibile utilizzare le variabili per archiviare valori che non sono costanti da un'esecuzione di uno script all'altra. Questi valori possono essere dati di qualsiasi tipo, strutture di dati di qualsiasi tipo o riferimenti a un altro oggetto. A differenza di molti linguaggi di programmazione, le variabili JMP non devono essere dichiarate o elencate all'inizio dello script e non sono limitate alla memorizzazione di un particolare tipo di dati. Quindi puoi assegnare un nuovo valore a una variabile esistente in qualsiasi momento e quel nuovo valore non deve essere lo stesso tipo di dati o riferimento del vecchio valore. Le variabili hanno anche un ambito, che è l'area e il tempo definiti all'interno di JMP in cui sono disponibili per l'uso. L'area in cui è disponibile una variabile è nota anche come spazio dei nomi, ovvero lo spazio in cui tale nome è associato a un particolare valore o riferimento a un oggetto. Per impostazione predefinita, le variabili sono globali, nel senso che esistono nello spazio dei nomi globale. Una variabile globale è disponibile ovunque in JMP finché esiste la sessione JMP corrente. In altre parole, le variabili globali persistono finché non si esce da JMP. Supponiamo che tu crei una variabile globale, s, che memorizza una somma calcolata dal tuo script. Qualsiasi script eseguito durante la sessione JMP corrente ha accesso a quella variabile. Tuttavia, è importante considerare che se si tende a utilizzare gli stessi nomi di variabile in più script, ad esempio s per una somma o i per un contatore, tali valori potrebbero entrare in collisione tra loro. In altre parole, potresti non volere che la s nel secondo script sovrascriva il valore della s nel primo script, ma se entrambi gli script usano una variabile globale con lo stesso nome, allora è esattamente quello che accadrà, perché puoi 't avere copie diverse della variabile globale con lo stesso nome. Quindi può essere utile limitare l'ambito della variabile in modo che sia disponibile solo per un'area limitata o per un tempo limitato. Un modo per farlo è usare le variabili locali. Si tratta di variabili limitate a uno spazio dei nomi limitato, nel senso che sono disponibili solo temporaneamente mentre una parte dello script è in esecuzione. Si utilizza la funzione Local per creare variabili locali e queste possono essere un buon modo per gestire i nomi nei propri script ed evitare collisioni nello spazio dei nomi globale. Un'altra alternativa all'utilizzo delle variabili globali è l'utilizzo dello spazio dei nomi Here. L'utilizzo di Names Default per funzionare nello script, con a come argomento booleano, crea uno spazio dei nomi Here univoco per qualsiasi script. Ciò consente di restringere l'ambito delle variabili a un singolo script senza utilizzare la funzione Local. È possibile creare e gestire altri spazi dei nomi secondo necessità e JMP include alcuni altri spazi dei nomi predefiniti oltre agli spazi dei nomi Globale, Qui e Locale.