手把手教你做网站7种子搜索引擎
一. 创建对象的三种方式
1.1 利用对象字面量创建对象
const p = {name:"kebi"
}
1.2 利用 new Object 创建对象
// const obj = new Object()// obj.uname = 'maidi'// console.log(obj)const obj = new Object({ uname: 'maidi' })
1.3 利用构造函数创建对象
大写字母开头的函数
说明:
- 使用 new 关键字调用函数的行为被称为实例化
- 实例化构造函数时没有参数时可以省略 ()
- 构造函数内部无需写return,返回值即为新创建的对象
- 构造函数内部的 return 返回的值无效,所以不要写return
- new Object() new Date() 也是实例化构造函数
// 1. 构造函数 function Person(uname, age) {this.uname = unamethis.age = age}Person.sex = "99"// 2.new 关键字调用函数const p = new Person('老弟', 6)console.log(p)
实例化执行过程 说明:
- 创建新对象
- 构造函数this指向新对象
- 执行构造函数代码,修改this,添加新的属性
- 返回新对象
二. 实例成员&静态成员
静态成员 : 构造函数上的属性和方法称为静态成员(静态属性和静态方法)
实例成员: 实例对象的属性和方法即为实例成员
// 构造函数 function Person(uname, age) {// 省略实例成员}Person.eyes= 2Person.arms= 2// 静态方法Person.walk = function(){// this指向Personconsole.log(this.eyes)}
说明:
- 构造函数的属性和方法被称为静态成员
- 一般公共特征的属性或方法静态成员设置为静态成员
- 静态成员方法中的 this 指向构造函数本身
通过构造函数创建的对象称为实例对象,实例对象中的属性和方法称为实例成员。
// 构造函数 function Person(uname, age) {// }Person.eyes= 2Person.arms= 2// 静态方法Person.walk = function(){// this指向Personconsole.log(this.eyes)}
说明:
- 实例对象的属性和方法即为实例成员
- 为构造函数传入参数,动态创建结构相同但值不同的对象
- 构造函数创建的实例对象彼此独立互不影响。