一、类 class 和对象
在ES6中新增添了类的概念,可以使用class关键字来声明一个类,之后使用这个类来实例化对象
- 类抽象了对象的公共部分,泛指某一大类。
- 对象特指某一个,通过类来实例化一个具体的对象。注意:类必须使用new来实例化对象。
我浅薄的理解为:
- 类就好像一条生产线,里面包含了所有通过这条生产线生产出来的东西的共同点。
- 而实例化对象就是指用这条生产线(类)生产出来(new)某个产品,指的是过程。
- 对象就是指生产出来的某个产品,它具备类中所有的属性。
//创建类
class name{
//class body;
}
//创建实例
var xx = new name();
二、类 constructor 构造函数
constructor()方法是类的构造函数(默认使用这个方法),用来传递参数,返回实例对象,通过new命令生成对象实例时会自动调用该方法。
如果你没有写,类内部会自动创建一个constructor()。
// 创建一条生产线类,类名习惯首字母大写
class Productionline {
constructor(form, number) { // 四边形和6是我们传递进去的参数
this.form = form;
this.number = number;
// 让product对象具备类中所有的属性,属性值为传递进去的参数
}
}
// 利用类来实例化对象
var product = new Productionline('四边形', 6);
三、函数 function
JavaScript中的函数:把一段需要重复使用的代码,用function语法包起来,方便重复调用,分块和简化代码。复杂一点的,也会加入封装、抽象、分类等思想。
能够把一些数据(参数)传递进去进行处理,然后返回一些数据(返回值),也可以没有返回值。
声明方式:
- 方式一:
function 函数名(){ //代码; }
- 方式二:ES6中声明方式箭头函数,()=>{}
- 方式三:匿名函数,将函数存到变量里 var func = function(){};
调用方式:
- 方式一:名字(); 函数可以多次调用
函数名();
- 方式二:在事件中调用,直接写函数名,不使用括号
document.onclick = 函数名;
四、方法 method
方法(method)是通过对象调用的javascript函数,也就是说,方法也是函数,只是比较特殊的函数,它和一个对象相关联。
假设有一个函数是fn,一个对象是obj,那么就可以定义一个method
// 定义一个与obj相关联的method,将函数fn赋值给method
obj.method = fn;
// 那么此时这个method就是与obj相关联的方法
obj.method();
函数中的数据是显式传递,而方法中的数据是隐式传递且方法与对象相关