大家好,我是 JavaScript 语言的新手。 我开始看到一些 JavaScript 代码示例。
我无法理解以下代码段:
function Employee(name,salary)
{
this.name=name;
this.salary=salary;
this.paycheck=function()
{
var monthly=this.salary/12;
document.write(this.name+ ": " +monthly);
};
}
var emp= new Employee("Fred",10000);
emp.paycheck();
我的问题:类内属性附近的单词 this 是什么意思(即 this.name=name; this.salary=salary; )?
提前致谢!
最佳答案
this
的使用可以解释为“应用于this 实例的属性”。由于 Employee
是一个构造函数(您使用 new
运算符创建它的实例),每个实例对于这些属性都有自己的值:
var me = new Employee("James", 2000000); //Instance of Employee
console.log(me.name); //Prints James
var you = new Employee("Michael", 2000000); //Another instance
console.log(you.name); //Prints Michael
请注意,这也意味着 Employee
的每个实例都有其自己的 paycheck
方法副本。这不是特别有效,因为必须为对象的每个实例在内存中存储一个单独的函数副本。您可以改为在 Employee
对象的 prototype
上声明该方法,这意味着该方法将在所有实例之间共享。
关于javascript - JavaScript 中属性附近的单词 this 是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9145112/