📅  最后修改于: 2023-12-03 14:42:32.921000             🧑  作者: Mango
JavaScript是面向对象的编程语言,它的核心是对象。对象是具有属性和方法的数据结构,用来表示真实世界中的事物。
JavaScript中创建对象有多种方法,其中最常用的是使用对象字面量和构造函数。
对象字面量是一种创建对象的简洁方式,通过花括号{ }包裹属性和方法的名称和定义,如下所示:
const person = {
name: '张三',
age: 20,
sayHello() {
console.log('你好,我叫' + this.name);
}
};
构造函数可以用来创建相似的对象,通过关键字new
来实例化对象,如下所示:
function Person(name, age) {
this.name = name;
this.age = age;
this.sayHello = function() {
console.log('你好,我叫' + this.name);
};
}
const person = new Person('张三', 20);
对象可以包含属性和方法,通过点操作符或方括号来访问它们。
属性是对象的特性,它可以是基本类型或对象类型。访问属性可以使用点操作符或方括号,如下所示:
console.log(person.name); // '张三'
console.log(person['age']); // 20
方法是对象的行为,它可以是函数或对象方法。调用方法可以使用点操作符,如下所示:
person.sayHello(); // '你好,我叫张三'
JavaScript的对象是基于原型链的,每个对象都有一个原型对象,原型对象又有自己的原型对象,依次类推,最终将指向Object.prototype
。原型链的作用是继承父对象的属性和方法。
每个函数都有一个原型属性prototype
,它指向实例化对象的原型,可以通过它来添加共享的属性和方法,如下所示:
Person.prototype.sayHi = function() {
console.log('大家好,我是' + this.name);
}
person.sayHi(); // '大家好,我是张三'
每个原型对象都有一个构造函数属性,它指向原型对象所在的构造函数。
console.log(Person.prototype.constructor === Person); // true
对象是一个可迭代对象,可以通过for...in
循环遍历所有可枚举的属性,如下所示:
for (let key in person) {
console.log(key + ': ' + person[key]);
}
JavaScript中的对象是非常重要的,它是面向对象编程的基础。我们可以通过对象字面量和构造函数来创建对象,通过原型链来继承父类。对象可以包含属性和方法,可以通过点操作符或方括号来访问和调用。遍历对象可以使用for...in
循环。