JS中的面向对象之对象常见创建方法详解
1. 对象字面量
对象字面量是创建对象的一种简单方法,它是用一对花括号{}
括起来的数据结构,其中包含一个或多个属性和属性值,属性名和属性值用冒号:”分隔,多个属性之间用逗号
,`分隔。
示例代码:
let student = {
name: 'Tom',
age: 20,
gender: 'male',
sayHi: function () {
console.log('Hi, my name is ' + this.name);
}
};
以上代码就创建了一个包含了name
, age
, gender
, sayHi
四个属性的对象student
,其中属性sayHi
的值是一个匿名含参数的函数。
注意:在对象字面量中方法必须是匿名函数,这会影响到后续的操作。
2. new Object()构造函数
new Object()
是创建 JavaScript 对象的一种最简单的方法,它可以创建一个空的代码块或者一个非常简单的对象,然后属性和方法可以在其他地方添加和定义。
示例代码:
let student = new Object();
student.name = 'Tom';
student.age = 20;
student.gender = 'male';
student.sayHi = function () {
console.log('Hi, my name is ' + this.name);
};
以上代码创建了一个空对象student
,然后通过.
语法为其添加属性和方法。
3. 工厂函数
使用工厂函数可以创建多个相似的对象实例,工厂函数是一个普通函数,通过函数的返回值来为调用者创建新的对象实例。
示例代码:
function createStudent(name, age, gender) {
let student = new Object();
student.name = name;
student.age = age;
student.gender = gender;
student.sayHi = function () {
console.log('Hi, my name is ' + this.name);
};
return student;
}
let student1 = createStudent('Tom', 20, 'male');
let student2 = createStudent('Lucy', 18, 'female');
以上代码中,我们使用createStudent
函数创建了两个相似的对象实例student1
和student2
,通过传递不同的参数来实现不同的创建。
4. 构造函数
构造函数和工厂函数灵活性相同,但语法上有很大不同,构造函数是使用new
关键字调用的函数,调用过程中会自动创建一个新的对象实例,并将this
关键字指向该新创建的对象实例,最后再在构造函数中为该对象实例添加属性和方法。
示例代码:
function Student(name, age, gender) {
this.name = name;
this.age = age;
this.gender = gender;
this.sayHi = function () {
console.log('Hi, my name is ' + this.name);
};
}
let student1 = new Student('Tom', 20, 'male');
let student2 = new Student('Lucy', 18, 'female');
以上代码中,我们使用Student
函数创建了两个相似的对象实例student1
和student2
,通过传递不同的参数来实现不同的创建。
小结
以上是 JS 中常见的对象创建方法,每种方法各有优缺点,在不同的场合下可以灵活应用,从而具有更好的效率和易用性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js中的面向对象之对象常见创建方法详解 - Python技术站