new 操作符具体干了什么?
当我们new一个数据的时候,new操作符到底做了什么?
首先是创建实例对象{},this 变量引用该对象,同时还继承了构造函数的原型。其次属性和方法被加入到 this 引用的对象中。并且新创建的对象由 this 所引用,并且最后隐式的返回 this
js 创建对象的几种方式
对象字面量的方
var obj={};
new一个构造函数
function Pel(){}
var p=new Pel();
p.name="hu";
p.age="25";
p.address=function(){
}
new一个内置对
var obj=new Object();
JS 如何实现一个类
构造函数法
缺点:用到了 this 和 prototype,编写复杂,可读性差
function P(name, age){
this.name = name;
this.age= age;
}
P.prototype.sal= function(){
}
var pel= new P("jj", 1);
pel.sell()
ES6 语法糖 class
class Point {
constructor(x, y) {
this.x = x;
this.y = y;
}
toString() {
return '(' + this.x + ', ' + this.y + ')';
}
}
var point = new Point(2, 3);
网友评论