JS中的构造函数、原型、原型链
在典型的OOP的语言中(如Java),都存在类的概念,类就是对象的模板,对象就是类的实例,但在ES6之前,JS并没有类的概念
1,创建对象可以通过三种方式:
1,对象字面量
let obj = {}
2,new Object()
let obj = new Object()
3,自定义构造函数
function person (name, age) {
this.name = name
this.age = age
this.sayName = function () {
console.log(this.name)
}
}
let p1 = new person('Jerry', 18)
2,构造函数
构造函数是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与new一起使用。我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个函数里面。
使用构造函数时注意:
1,构造函数用于创建某一类对象,其首字母大写
2,构造函数要和new一起使用
new在执行时会做以下4件事:
1,在内存中创建一个新的空对象
2,让this指向这个新的对象
3,执行构造函数里面的代码,给这个新对象添加属性和方法
4,返回这个新对象(所以构造函数里不需要return)
构造函数中可以添加一些成员,可以在构造函数本身上添加,也可以在构造函数内部的this上添加,通过两种方式添加的成员,就分别成为静态成员和实例成员
-
静态成员:在构造函数本身上添加的成员,只能由构造函数本身来访问
-
实例成员:在构造函数内部创建的对象成员,只能由实例化的对象来访问
function Person(name, age) {
this.name = name
this.age = age
this.sayName = function () {
console.log(this.name)
}
}
// 实例成员就是构造函数内部通过this添加的成员:name、age、sayName就是实例成员,实例成员只能通过实例化的对象来访问
let p1 = new Person('Jerry', 18)
Person.gender = 'male' // 静态成员,在否早函数本身上添加的成员gender就是静态成员
console.log(Person.gender) /
构造函数、原型与原型链:JavaScript面向对象基石解析

本文详细讲解了JavaScript中构造函数的使用、原型的作用,以及如何通过原型链实现方法共享。理解这些概念有助于优化内存使用并创建高效的对象模型。
最低0.47元/天 解锁文章
8549

被折叠的 条评论
为什么被折叠?



