1、创建一个空对象,并且 this 变量引用该对象,同时还继承了该函数的原型。
2、属性和方法被加入到 this 引用的对象中。
3、新创建的对象由 this 所引用,并且最后隐式的返回 this 。
 

var Person = function(name){

//var this = {};

this.name = name;

this.say = function(){

return "I am " + this.name;

};

//return this;

}

 
简单理解就是:

var obj = new Base();

相当于运行以下代码

new操作符具体干了什么呢?其实很简单,就干了三件事情。

var obj = {};

obj.__proto__ = Base.prototype;

Base.call(obj);

第一行,我们创建了一个空对象obj
第二行,我们将这个空对象的__proto__成员指向了Base函数对象prototype成员对象
第三行,我们将Base函数对象的this指针替换成obj,然后再调用Base函数,于是我们就给obj对象赋值了一个id成员变量,这个成员变量的值是”base”

最新文章

  1. Java程序设计之合租房synchronized(二)
  2. W7无法更新
  3. IntelliJ IDEA 12.0 +Maven 初使用 - WEB项目的建立
  4. Wiki设置
  5. linux 学习1
  6. 每天一个linux命令(56):netstat命令
  7. Swift - 懒加载(lazy initialization)
  8. for memory long term update
  9. 小鱼提问1 类中嵌套public修饰的枚举,外部访问的时候却只能Class.Enum这样访问,这是为何?
  10. Date对象需要注意的点
  11. Web后台快速开发框架
  12. mysql5.7安装(正确安装)实战
  13. (二 -2) 天猫精灵接入Home Assistant-自动发现Mqtt设备
  14. angular 使用dialog的经验
  15. html 简单的table样式
  16. C语言20150620
  17. RHCE-EXAM 模拟题目
  18. linux的操作
  19. Binary Tree Level Order Traversal&&II
  20. Caffe2——C++ 预测(predict)Demo

热门文章

  1. iOS利用响应链机制点击tableview空白处关闭键盘-可以作为参考
  2. Python中的Warnings模块忽略告警信息
  3. runAllManagedModulesForAllRequests 和 invalid url
  4. Babelfish
  5. Android Wear开发 - 数据通讯 - 第零节 : 打包Wear应用(手机和手表应用如何连接)
  6. Struts2 实现分页
  7. Struts2 文件上传,下载,删除
  8. 转:阿里旺旺导致python安装包失败的解决办法
  9. Code (组合数)
  10. Ubuntu 12.04 使用Eclipse搭建C/C++编译环境