new一个对象做了哪些操作
2024-09-26 20:32:37
网上其实有很多说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方法,其实我觉得这些都已经在第二步的时候已经做完了,也有可能是我理解的问题,欢迎指正!!!谢谢
最新文章
- MySQL入门01-MySQL源码安装
- C#中 ??、 ?、 ?: 、?.、?[ ]
- Bete冲刺第二阶段
- 横向滑动的HorizontalListView滑动指定位置的解决方法
- 【第三课】ANR和OOM——贪快和贪多的后果(下)
- 在String()构造器不存在的情况下自定义一个MyString()函数,实现如下内建String()方法和属性:
- 谈谈 jQuery 中的防冲突(noConflict)机制
- ubuntu安装 cober 笔记
- eclipse从SVN检出项目之后,项目出错
- 使用docker 解决一个小问题,你也可能用的到
- PAT-甲级-1003
- freemarker之list
- Golang 交叉编译 window/linux 文件
- 目标检测算法之Faster R-CNN算法详解
- python_flask 注册,登陆,退出思路 ---纯个人观点
- doc转html
- Daily Scrumming* 2015.10.26(Day 7)
- HDU 4641 K-string 后缀自动机 并查集
- (LeetCode 72)Edit Distance
- 数据库--sql文件