Q1)这怎么可能?!
function employer(name) { this.name = name;};
var fred = new employer('Fred');
雇主不是一个职能而不是一个阶级吗?
Q2)
是什么employer.prototype
表示?
最后
问题3)这是如何运作的?
employer.prototype.salary = null;
fred.salary = 2000;
有人可以给出简单的解释吗?请:)
答案 0 :(得分:3)
当你要求一个简单的解释时,我们走了:
Q1)这是可能的,因为JavaScript函数是一流的(即它们是对象,你可以创建new
个对象)。
Q2)prototype
是一个对象,其他对象从该对象继承属性。对象原型的属性将可用于该对象的所有实例。
Q3)这意味着employer
的所有实例都将拥有值为salary
的属性null
。名为employer
的{{1}}实例只会使用fred
覆盖初始null
值。它是相同的2000
属性(当您使用属性时,搜索范围链直到找到匹配。在这种情况下,在对象原型上找到匹配项。)
快速举例:
salary