Alternatif kepada Pembolehubah Global dalam Javascript
ruang nama global yang dikongsi Javascript dan pembolehubah global tersirat boleh membawa kepada konflik apabila berbilang skrip beroperasi pada halaman yang sama . Untuk mengelakkan isu ini, pertimbangkan untuk menggunakan penyelesaian alternatif.
Modul Setempat
Sisipkan kod anda dalam fungsi yang mengembalikan objek yang mengandungi fungsi yang anda ingin dedahkan secara luaran. Berikan nilai pulangan kepada pembolehubah global tunggal.
var FOO = (function() { var my_var = 10; // Shared variable function bar() { // Not exposed externally alert(my_var); } return { a_func: function() { alert(my_var); }, b_func: function() { alert(my_var); } }; })();
Untuk mengakses fungsi modul, gunakan FOO.a_func(). Pendekatan ini membolehkan anda mengasingkan kod anda dan mencegah konflik dengan menukar hanya nama FOO.
Corak Singleton
Dalam senario khusus ini, di mana satu fungsi menetapkan pembolehubah dan seorang lagi kemudian mengambilnya, pertimbangkan corak Singleton. Ini melibatkan mencipta satu tika kelas yang menyediakan akses terkawal kepada data global.
var Singleton = { variable1: null, setVariable: function(value) { this.variable1 = value; }, getVariable: function() { return this.variable1; } }; Singleton.setVariable("value1"); var retrievedVariable = Singleton.getVariable(); // "value1"
Corak ini memastikan bahawa hanya satu tika Singleton wujud dan menyediakan antara muka terkawal untuk mengakses data global.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengelakkan Konflik Pembolehubah Global dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!