JavaScript 是通过对象来组织数据和功能的,可以认为在 JavaScript 中我们所有的一切都是对象,也就是说你定义的任何变量或函数都是对象。
对象可以由两种方法创建:
1. 直接量
2. 构造函数
对象直接量是由若干名/值对组成的映射表,用大括号括起来。然后在每个名/值对之间用逗号分隔即可。
例如:
const obj = {
name: 'Jack',
age: 30,
job: 'developer'
};
console.log(obj); // 输出 { name: 'Jack', age: 30, job: 'developer' }
使用对象直接量创建的对象可以非常方便地创建和初始化对象。
构造函数是一种特殊的函数,可以用来创建对象。
创建一个构造函数,可以使用 function 关键字,后面紧跟着一个或多个参数,这些参数就是该构造函数所需的参数。
new 关键字可以创建一个该构造函数的实例。
例如:
function Person(name, age, job) {
this.name = name;
this.age = age;
this.job = job;
}
const person = new Person('Jack', 30, 'developer');
console.log(person); // 输出 Person { name: 'Jack', age: 30, job: 'developer' }
每个 JavaScript 对象都有一个指向其原型的链接。当试图访问一个对象的属性时,如果在该对象本身上没有找到这个属性,那么 JavaScript 会跟随这个对象的原型,如果在原型上找到了就返回它。
例如:
function Person(name, age, job) {
this.name = name;
this.age = age;
this.job = job;
}
Person.prototype.sayHi = function() {
console.log(`Hi, I am ${this.name}`);
};
const person = new Person('Jack', 30, 'developer');
person.sayHi(); // 输出 Hi, I am Jack
在上面的例子中,Person 构造函数的原型是一个包含一个方法 sayHi 的对象。我们可以在 person 实例上调用 sayHi 这个方法,因为 person 的原型链中有一个指向 Person.prototype 的链接。
JavaScript 中的对象可以通过继承从父对象继承所有属性和方法。
例如:
function Animal() {
this.sound = 'animal sound';
}
Animal.prototype.makeSound = function() {
console.log(this.sound);
};
function Cat() {}
Cat.prototype = new Animal();
Cat.prototype.sound = 'miaow';
const cat = new Cat();
cat.makeSound(); // 输出 miaow
在上面的例子中,我们首先定义了一个 Animal 构造函数,该构造函数有一个属性 sound 和一个方法 makeSound。然后我们定义了一个 Cat 构造函数,该构造函数继承了 Animal。最后我们创建了一个 Cat 实例 cat,并调用了其 makeSound 方法,输出了 miaow。
通过本文,我们了解了 JavaScript 中的对象相关内容,包括对象直接量、构造函数、原型和继承等。这些概念是非常重要和基础的,掌握了这些内容,可以更好地理解和使用 JavaScript。
本文链接:http://task.lmcjl.com/news/15771.html