ตำแหน่งที่ลึกกว่าของตัวระบุใน JavaScript ยิ่งช้าลงอ่านและเขียน ดังนั้นการอ่านและการเขียนตัวแปรท้องถิ่นในฟังก์ชั่นจึงเร็วที่สุดเสมอในขณะที่การอ่านและการเขียนตัวแปรทั่วโลกมักจะช้าที่สุด กฎง่ายๆคือ: หากมีการอ้างอิงค่าข้ามขอบเขตมากกว่าหนึ่งครั้งในฟังก์ชั่นจากนั้นเก็บไว้ในตัวแปรท้องถิ่น
ตัวอย่างเช่น:
การคัดลอกรหัสมีดังนี้:
<!-ก่อนการเพิ่มประสิทธิภาพ->
<script type = "text/javascript">
ฟังก์ชั่น initui () {
var bd = document.body,
links = document.getElementByTagname ("A")
i = 0,
len = links.length;
ในขณะที่ (i <len) {
อัปเดต (ลิงก์ [i ++]);
-
document.getElementById ("go-btn"). onclick = function () {
เริ่ม();
-
bd.className = "ใช้งาน";
-
</script>
ฟังก์ชั่นนี้หมายถึงเอกสารสามครั้งและเอกสารเป็นวัตถุระดับโลก กระบวนการค้นหาตัวแปรนี้จะต้องสำรวจลิงก์ขอบเขตทั้งหมดจนกว่าจะพบได้ในที่สุดในวัตถุตัวแปรส่วนกลาง คุณสามารถลดผลกระทบด้านประสิทธิภาพได้โดยการจัดเก็บการอ้างอิงไปยังตัวแปรทั่วโลกในตัวแปรท้องถิ่นจากนั้นใช้ตัวแปรท้องถิ่นนี้แทนตัวแปรทั่วโลก
ตัวอย่างเช่น:
การคัดลอกรหัสมีดังนี้:
<!-หลังจากการเพิ่มประสิทธิภาพ->
<script type = "text/javascript">
ฟังก์ชั่น initui () {
var doc = เอกสาร
bd = doc.body
links = doc.getElementByTagname ("A")
i = 0,
len = links.length;
ในขณะที่ (i <len) {
อัปเดต (ลิงก์ [i ++]);
-
doc.getElementById ("go-btn"). onclick = function () {
เริ่ม();
-
bd.className = "ใช้งาน";
-
</script>