十四(1)、函数的三种角色 ------ 2019-12-28
作者:
自己写了自己看 | 来源:发表于
2019-12-28 15:05 被阅读0次function Fn () {
var n = 10;
this.m = 100;
}
Fn.prototype.aa = function () {
console.log('aa');
}
Fn.bb = function () {
console.log('bb');
}
// (1)普通函数:
Fn (); // this: window;有个私有变量 n 和原型以及属性 bb 没有关系;
// (2)构造函数执行:
var f = new Fn();
console.log(f.n); // undefined n是私有变量,和实例没有任何关系;
console.log(f.m); // 100 m是实例的私有属性;
f.aa(); // aa 实例通过 __proto__ 找到Fn.prototype上的方法;
console.log(f.bb); // undefined; bb是把Fn当做一个普通的对象设置的属性而已,
// 和实例没有任何关系;
// (3)、普通对象:
Fn.bb(); // bb;只有 bb 和 prototype是Fn作为对象的属性;

Number函数的角色.png
本文标题:十四(1)、函数的三种角色 ------ 2019-12-28
本文链接:https://www.haomeiwen.com/subject/jpjsoctx.html
网友评论