网上其实有很多说new关键字做了哪些操作,读过之后就忘了,这里以自己的理解做一个简单的记录。

function Naji () {
this.skulk = function () {
return this;
}
} var naji1 = new Naji ();

new关键字做了三步

1.创建一个新的空对象

说明:感觉这一步没什么好说的

2.新的对象被设置为该函数的上下文

说明:讲真,不容易理解的就是这句话,按照我的理解其中最重要的就是this 指向的问题,我觉得其实就是把构造函数的this指向指向了新的对象;

在上面的函数中就是把Naji函数的this指向了对象naji1,这样新对象naji就能调用Naji中的函数。

作为测试,可以构建两个函数

var naji1 = new Naji ();

var naji2 = new Naji ();

console.log ( naji1.skulk === niji1 ) // true
console.log ( naji2.skulk === niji2 ) // true

3.为该对象增加一个新的方法

说明: 也就是这里的skulk方法,其实我觉得这些都已经在第二步的时候已经做完了,也有可能是我理解的问题,欢迎指正!!!谢谢

最新文章

  1. MySQL入门01-MySQL源码安装
  2. C#中 ??、 ?、 ?: 、?.、?[ ]
  3. Bete冲刺第二阶段
  4. 横向滑动的HorizontalListView滑动指定位置的解决方法
  5. 【第三课】ANR和OOM——贪快和贪多的后果(下)
  6. 在String()构造器不存在的情况下自定义一个MyString()函数,实现如下内建String()方法和属性:
  7. 谈谈 jQuery 中的防冲突(noConflict)机制
  8. ubuntu安装 cober 笔记
  9. eclipse从SVN检出项目之后,项目出错
  10. 使用docker 解决一个小问题,你也可能用的到
  11. PAT-甲级-1003
  12. freemarker之list
  13. Golang 交叉编译 window/linux 文件
  14. 目标检测算法之Faster R-CNN算法详解
  15. python_flask 注册,登陆,退出思路 ---纯个人观点
  16. doc转html
  17. Daily Scrumming* 2015.10.26(Day 7)
  18. HDU 4641 K-string 后缀自动机 并查集
  19. (LeetCode 72)Edit Distance
  20. 数据库--sql文件

热门文章

  1. 【你不知道的javaScript 上卷 笔记3】javaScript中的声明提升表现
  2. idea软件操作
  3. redis 有序集合(set),无需集合(zset)
  4. OpenGL 编程指南 (4)
  5. 棋盘划分问题中4的k次方减一是三的倍数
  6. CF399B Red and Blue Balls
  7. Spring解决bean之间的循环依赖
  8. soundtouch change pitch matlab implementation
  9. C# ODP.Net oracle数据库操作 支持不安装客户端
  10. (转)eclipse调试java程序的九个技巧