您的位置:首页 > Web前端 > JavaScript

js中new 一个对象内部发生了什么?

2016-07-26 16:04 417 查看
function Animate(name){
this.name = name;
}
Animate.prototype.dance = function(){
console.log(this.name + "在跳舞!");
}
var dog = new Animate('小白');
dog.dance();

//new Animate('小白')时发生的事情:
1.创建了一个新对象 var obj = {}
2.将Animate中的this关键字指向obj
3.将Animate的prototype原型指向obj原型,这样obj就拥有了Animate中的方法
4.执行Animate构造函数(类)的代码
执行完后,obj的样子:
var obj = {
name : '小白',
dance : function(){
console.log(this.name + "在跳舞!");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: