对象
1.字面量--> var/let/const 对象名 = {键名1:'值1',键名2:'值2'}
2.构造对象--> var/let/const 对象名 = new Object()
对象名.键名1 = "值1"
对象名.键名2 = "值2"
批量创建对象
1.工厂模式(将创建对象的过程封装成一个函数,反复调用该函数,实现批量创建相似对象)
缺点:这种方法创建的对象,检测后属于同一种类型object,无法明确每个对象的具体类型
2.构造函数
- 立刻new一个新的对象(即用new调用函数,一出现new就创建对象)
- 将新的对象作为函数上下文对象this,在构造函数中可以通过this来引用新建的对象
- 逐行执行对象中的代码
- 将新建的对象作为返回值返回
//创建Tank对象
function Tank(){
//1.创建一个空对象 {}
//2.让this指向空对象
//3.给this指向的对象添加属性和方法
//color,speed,direction这些叫做属性( 数据属性 )
this.color = 'red';
this.speed = 1;
this.direction = 'ltr';
//run 叫做方法( 功能属性 )
this.run = function(){
setInterval(()=>{
console.log('坦克跑动');
},5000)
}
//4.返回this
// return this;
}
var t = new Tank();
console.log(t);
class 面向对象写法