Saya punya pertanyaan tentang cakupan variabel dalam Javascript. Saya memiliki serangkaian skrip pada halaman web yang dimuat pada waktu yang berbeda. Saya memerlukan objek global bernama MyVar misalnya agar dapat diakses oleh semuanya. Saya ingin menghindari mendefinisikan ulang tetapi saya kira itu harus didefinisikan pada suatu saat oleh skrip pertama. Pertanyaan saya adalah apakah menggunakan var MyVar = MyVar || {}
solusinya?
Terima kasih
/**
* Script 1
*/
var MyVar = MyVar || {};
MyVar.config = {
x : 2,
y : 3
};
/**
* Script 2
*/
//is this correct?
var MyVar = MyVar || {};
//to which MyVar am I assigning the apple property?
MyVar.apple = 'red';
PEMBARUAN
Jawaban yang bagus sejauh ini kawan, terima kasih.
Namun satu bagian terakhir, apa yang dilakukan pernyataan var kedua ketika saya mengulangi var MyVar = MyVar || {};
untuk kedua kalinya? Apakah itu membuat var baru dalam lingkup global bernama MyVar
yang diberi nilai MyVar
yang ada?
Poster lain benar untuk berasumsi bahwa saya memiliki skrip ini yang dimuat secara serempak dalam tag <script>
namun karena pembagian kerja, saya membuat skrip kemudian tidak mengontrol kapan dan bagaimana skrip tersebut dimuat sehingga memerlukan metode yang sangat mudah untuk membuat/memanfaatkan objek MyVar
saya .
Terima kasih
var MyVar = MyVar || {};
sebagaivar MyVar = MyVar if it exists (and isn't equal to false or 0) , or a new object if it doesn't
. - person ic3b3rg   schedule 11.01.2013