ฉันมีคำถามเกี่ยวกับขอบเขตตัวแปรใน Javascript ฉันมีชุดสคริปต์บนหน้าเว็บที่โหลดในเวลาต่างกัน ฉันต้องการวัตถุส่วนกลางที่เรียกว่า MyVar เพื่อให้ทุกคนสามารถเข้าถึงได้ ฉันต้องการหลีกเลี่ยงการกำหนดใหม่ แต่ฉันเดาว่าสคริปต์แรกจะต้องกำหนดไว้ ณ จุดใดจุดหนึ่ง คำถามของฉันคือใช้ var MyVar = MyVar || {}
วิธีแก้ปัญหาใช่ไหม
ขอบคุณ
/**
* 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';
อัปเดต
คำตอบที่ยอดเยี่ยมจนถึงตอนนี้ขอบคุณ
ส่วนสุดท้าย คำสั่ง var ที่สองทำอะไรเมื่อฉันทำซ้ำ var MyVar = MyVar || {};
เป็นครั้งที่สอง เป็นการสร้าง var ใหม่ในขอบเขตส่วนกลางที่เรียกว่า MyVar
ซึ่งได้รับการกำหนดค่าของ MyVar
ที่มีอยู่หรือไม่
ผู้โพสต์อื่นๆ มีสิทธิ์ที่จะถือว่าฉันมีสคริปต์เหล่านี้โหลดพร้อมกันในแท็ก <script>
แต่เนื่องจากการแบ่งงาน ฉันสร้างสคริปต์จึงไม่สามารถควบคุมเวลาและวิธีโหลดสคริปต์ได้ ดังนั้นจึงต้องมีวิธีการที่ไม่ซับซ้อนเพื่อสร้าง/ใช้งานวัตถุ MyVar
ของฉัน .
ขอบคุณ
var MyVar = MyVar || {};
เป็นvar 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