返回
JavaScript对象分类大全:从构造函数到ES6新语法class,全面解析!
前端
2023-11-26 21:35:25
一、构造函数
构造函数就是可以构造对象的函数,用一个例子来说明:
1.假如需要写一个程序,通过正方形的边长计算周长,我们首先需要定义一个正方形类,然后通过这个类来创建正方形对象,最后通过这个对象来计算周长。
function Square(sideLength) {
this.sideLength = sideLength;
}
Square.prototype.getPerimeter = function() {
return 4 * this.sideLength;
};
const square = new Square(5);
const perimeter = square.getPerimeter();
console.log(perimeter); // 20
在这个例子中,Square
函数就是一个构造函数,它用来创建square
对象。square
对象有一个sideLength
属性,表示正方形的边长,还有一个getPerimeter
方法,用来计算正方形的周长。
二、数组对象
数组对象是JavaScript中的一种特殊对象,它可以存储一系列元素。数组对象可以通过多种方式创建,最常见的方式是使用字面量语法:
const arr = [1, 2, 3, 4, 5];
数组对象也可以通过Array()
构造函数创建:
const arr = new Array(1, 2, 3, 4, 5);
数组对象具有许多有用的方法,例如push()
、pop()
、shift()
、unshift()
、slice()
、splice()
、sort()
、reverse()
等。
三、函数对象
函数对象是JavaScript中的一种特殊对象,它可以存储一段代码。函数对象可以通过多种方式创建,最常见的方式是使用函数字面量语法:
const func = function() {
console.log('Hello, world!');
};
函数对象也可以通过Function()
构造函数创建:
const func = new Function('console.log("Hello, world!")');
函数对象具有许多有用的属性,例如name
、length
、arguments
等。
四、ES6函数新语法class
ES6中引入了新的函数语法class
,class
可以用来定义类。类是JavaScript中的一种语法糖,它可以使代码更易于组织和维护。
class Square {
constructor(sideLength) {
this.sideLength = sideLength;
}
getPerimeter() {
return 4 * this.sideLength;
}
}
const square = new Square(5);
const perimeter = square.getPerimeter();
console.log(perimeter); // 20
在这个例子中,Square
类使用class
语法定义,它与前面使用构造函数定义的Square
类具有相同的功能。
除了以上四种基本的对象类型外,JavaScript中还有许多其他类型的对象,例如:
- 日期对象
- 正则表达式对象
- 错误对象
- DOM对象
- BOM对象
- Web API对象等