;(function() {
// 实例化一个对象的过程
// 声明一个构造函数
var F2E = function() {
this.fullName = "front end engineer",
this.work = function() {
return "write JavaScript、HTML、CSS"
}
};
// 定义prototype扩展方法
F2E.prototype = {
constructor: F2E,
getName: function() {
return this.fullName
}
};
// 实例化一个F2E
var hoogle = new F2E();
// 通过new实例化时的实际执行过程
var hoogle = function() {
// 使用对象字面量形式创建一个新的对象
var hoogle = {};
// 将原型指针指向构造函数的原型对象
hoogle.__proto__ = F2E.prototype;
// 将F2E上的静态属性赋给hoogle,并传入参数
F2E.apply(hoogle, arguments);
// 返回该对象的引用
return hoogle
};
}());