Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

ปัญหา Lexical Scoping ใน JavaScript ใช้ new keyword constructor พร้อม inner function

เพื่อแก้ปัญหานี้ ให้ใช้แนวคิดของคีย์เวิร์ด this ใช้ตัวแปรอีกตัวหนึ่งเก็บค่าของออบเจกต์ เพื่อใช้ภายใน inner function

ตัวอย่าง

function Employee() {
  this.technologyName = "JavaScript";
  var currentTechnologyName = this;
  function workingTechnology() {
    console.log("I am working with " + currentTechnologyName.technologyName + " Technology");
  }
  workingTechnology();
}
var currentTechnology = new Employee();

เพื่อรันโปรแกรมข้างต้น คุณต้องใช้คำสั่งต่อไปนี้:

node fileName.js.

ที่นี่ ชื่อไฟล์ของฉันคือ demo216.js

ผลลัพธ์มีดังนี้:

PS C:\Users\Amit\JavaScript-code> node demo216.js
I am working with JavaScript Technology