如何从Javascript函数实例化?

时间:2011-09-16 08:36:04

标签: javascript inheritance

Q1)这怎么可能?!

function employer(name) { this.name = name;};

var fred = new employer('Fred');

雇主不是一个职能而不是一个阶级吗?

Q2)

是什么
employer.prototype

表示?

最后

问题3)这是如何运作的?

employer.prototype.salary = null;
fred.salary = 2000;

有人可以给出简单的解释吗?请:)

1 个答案:

答案 0 :(得分:3)

当你要求一个简单的解释时,我们走了:

Q1)这是可能的,因为JavaScript函数是一流的(即它们是对象,你可以创建new个对象)。

Q2)prototype是一个对象,其他对象从该对象继承属性。对象原型的属性将可用于该对象的所有实例。

Q3)这意味着employer的所有实例都将拥有值为salary的属性null。名为employer的{​​{1}}实例只会使用fred覆盖初始null值。它是相同的2000属性(当您使用属性时,搜索范围链直到找到匹配。在这种情况下,在对象原型上找到匹配项。)

快速举例:

salary