文章

js对象-构造函数和实例化

js 对象、构造函数和实例化

js对象-构造函数和实例化

js 对象、构造函数和实例化

1. 对象

JavaScript 中对象是一种引用数据类型,除了原始值,其他值皆为对象。

对象是一种包含属性和方法的数据,以 key-value 形式存在。

1
const obj = {name: "tom", age: 23} 

2. 构造函数

构造函数不同于一般函数,它可以使用 new 关键字创建并初始化对象。

定义:****通过 new 函数名来实例化对象的函数叫构造函数。任何的函数都可以作为构造函数存在。之所以有构造函数与普通函数之分,主要从功能上进行区别的,构造函数的主要功能为初始化对象,特点是和new 一起使用。new就是在创建对象,从无到有,构造函数就是在为初始化的对象添加属性和方法。构造函数定义时首字母大写(规范)。

对new理解:new 申请内存,创建对象,当调用new时,后台会隐式执行new Object()创建对象。所以,通过new创建的字符串、数字是引用类型,而是非值类型

1
2
3
4
function Person(name, age) {
    this.name = name;
    this.age = age;
}

3. 实例化

创建一个对象,生成一个具体实例,便是对象的实例化。

通过内置 ****Object 创建一个对象实例。

1
2
3
4
5
6
var person = new Object();
person.name = "tom";
person.age = 23;
person.sayHi = function() {
    console.log("Hello World!");
}

通过字面量 ****{} 创建一个对象实例。

1
2
3
4
5
6
7
var person = {
    name: "tom",
    age: 23,
    sayHi: function() {
        console.log("Hello World!");
    }
}

通过构造函数创建一个对象实例。

1
2
3
4
5
6
7
8
9
function Person(name, age) {
    this.name = name;
    this.age = age;
    this.sayHi = function() {
        console.log("Hello World!");
    }
}

var person = new Person("tom", 23);
本文由作者按照 CC BY 4.0 进行授权