📜  javascript 对象 - Javascript (1)

📅  最后修改于: 2023-12-03 14:42:32.921000             🧑  作者: Mango

JavaScript对象

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循环。