JavaScript 对象、函数和继承

JavaScript 中的对象和函数都是重要的概念。对象是一组键值对的集合,可以包含函数,而函数是执行任务和返回值的代码块。继承是一种机制,它允许我们在一个对象上定义对象的属性和属性行为,并通过 "继承",使一个对象能够访问另一个对象的属性和方法。

JavaScript 对象

JavaScript 中的对象是由花括号 {} 包裹的一组键值对。例如:

let person = {
  name: 'John',
  age: 30,
  address: {
    street: '123 Main St',
    city: 'San Francisco',
    state: 'CA'
  },
  sayHi() {
    console.log(`Hi, my name is ${this.name} and I am ${this.age} years old.`)
  }
};

在上面的代码中,我们创建了一个 person 对象,它有一个 nameageaddress 属性,每个属性都有对应的值。address 属性是一个嵌套的对象,里面又有三个属性。sayHi 是一个函数,该函数可以输出相应的信息。

我们可以通过点号 . 或括号 [] 来访问对象的属性,例如:

console.log(person.name); // 输出 "John"
console.log(person['age']); // 输出 30
console.log(person.address.city); // 输出 "San Francisco"
person.sayHi(); // 输出 "Hi, my name is John and I am 30 years old."

JavaScript 函数

JavaScript 中的函数是一种代码块,它可以接受参数并返回值。例如:

function add(a, b) {
  return a + b;
}

console.log(add(2, 4)); // 输出 6

在上面的代码中,我们定义了一个 add 函数,它获取两个参数 ab,并返回它们的总和。

我们还可以使用箭头函数来定义函数,例如:

const add = (a, b) => a + b;

console.log(add(2, 4)); // 输出 6

在上面的代码中,我们使用了箭头函数来定义函数,这比常规函数要更简洁。

JavaScript 继承

JavaScript 中的继承是通过原型链来实现的。每一个对象都有一个指向其原型的内部属性 [[Prototype]],通过该属性,一个对象可以访问其父对象的属性和方法。例如:

let person = {
  name: 'John',
  age: 30,
  sayHi() {
    console.log(`Hi, my name is ${this.name} and I am ${this.age} years old.`)
  }
};

let student = Object.create(person);
student.major = 'Computer Science';

console.log(student.name); // 输出 "John"
console.log(student.major); // 输出 "Computer Science"
student.sayHi(); // 输出 "Hi, my name is John and I am 30 years old."

在上面的代码中,我们创建了一个 person 对象,并为 student 对象设置了其原型为 person,这样 student 就能够访问 person 对象的属性和方法了。此外,我们增加了 major 属性,该属性仅限于 student 对象。

对继承进行自定义时,我们可以使用 JavaScript 的 class 关键字来更简单地定义类。例如:

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }

  sayHi() {
    console.log(`Hi, my name is ${this.name} and I am ${this.age} years old.`);
  }
}

class Student extends Person {
  constructor(name, age, major) {
    super(name, age);
    this.major = major;
  }
}

let john = new Person('John', 30);
let jane = new Student('Jane', 22, 'Computer Science');

john.sayHi(); // 输出 "Hi, my name is John and I am 30 years old."
jane.sayHi(); // 输出 "Hi, my name is Jane and I am 22 years old."
console.log(jane.major); // 输出 "Computer Science"

在上面的代码中,我们使用 class 关键字来定义 PersonStudent 类。 Student 类从 Person 类继承,因此,Student 类可以访问其父类的所有属性和方法。super 方法在 Student 类的构造函数中被调用,用于传递参数并执行父类的构造函数。实例化对象后,我们可以使用 sayHi 方法打招呼,并访问 major 属性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript 对象、函数和继承 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • JavaScript高级程序设计 读书笔记之十 本地对象Date日期

    《JavaScript高级程序设计》第十章讲解了JavaScript中本地对象Date日期,是JavaScript中处理日期和时间的重要工具。下面是对这一章节的完整攻略。 一、日期时间的创建和实例化 在JavaScript中,可以使用new Date()创建一个日期对象。它会默认将当前时间作为日期时间的实例。也可以传入一个表示日期的字符串或者一个表示日期时间…

    JavaScript 2023年6月10日
    00
  • 《javascript设计模式》学习笔记二:Javascript面向对象程序设计继承用法分析

    《javascript设计模式》学习笔记二:Javascript面向对象程序设计继承用法分析 一、前言 在Javascript中,对象继承有着重要的作用。深入学习Javascript的面向对象的程序设计,掌握继承用法,对于编写复杂的Javascript程序非常有用,本文将介绍Javascript中常用的继承方法和技巧。 二、原型链继承 原型链继承是Javas…

    JavaScript 2023年5月27日
    00
  • js 获取json数组里面数组的长度实例

    获取JSON数组里面数组的长度可以使用JavaScript语言中的length属性,具体分为获取根数组长度和获取嵌套数组长度两种情况。 获取根数组长度 首先,需要使用JSON.parse()方法将JSON字符串解析成JavaScript对象。然后,通过对象的length属性获取根数组的长度。 示例代码如下所示: let jsonStr = ‘[{"…

    JavaScript 2023年5月27日
    00
  • Three.Js实现看房自由小项目

    Three.js实现看房自由小项目攻略 介绍 Three.js是一个基于WebGL的JavaScript 3D库,它可以帮助我们在Web端实现非常炫酷的3D视觉效果,完美地展现产品的三维模型,同时支持丰富的材质、灯光、粒子等效果,可以方便地实现交互效果。 在这篇攻略中,我们将使用Three.js来实现一个看房自由小项目。这个小项目将会模拟一个虚拟房屋,让用户…

    JavaScript 2023年6月11日
    00
  • js实现动态时钟

    让我为您详细讲解“js实现动态时钟”的攻略: 步骤一:创建HTML结构 首先,我们需要在HTML中定义时钟的结构。在文档的 <body> 标签中添加一个 <h1> 标签和一个 <p> 标签用于显示时间,并为它们定义一个 id 属性,这样我们可以在JavaScript中通过 getElementById() 方法来获取它们。…

    JavaScript 2023年5月27日
    00
  • JavaScript中的函数申明、函数表达式、箭头函数

    在 JavaScript 中,函数定义有三种方式:函数声明、函数表达式和箭头函数。 函数声明 函数声明是定义一个函数的常见方式,语法如下: function add(x, y) { return x + y; } 其中 add 是函数名,x 和 y 是参数,return 关键字用于返回计算结果。 函数声明有一个重要的特点,就是函数可以在声明之前被调用(也就是…

    JavaScript 2023年5月27日
    00
  • Javascript 中的类和闭包

    JavaScript 中的类和闭包都是比较高级的概念,如果要深入理解和应用它们,需要比初学者更深入的探索。 类 在 JavaScript 中,使用class关键字创建类是一种比较新的方法。使用类的好处是可以更简洁地定义对象,而不需要过多的对象字面量。类可以包含构造函数、属性和方法。下面是一个简单的类的示例: class Animal { constructo…

    JavaScript 2023年5月27日
    00
  • javascript 中Cookie读、写与删除操作

    当我们在使用 JavaScript 进行网站开发时,常常需要使用到 Cookie,Cookie 可以用于保存一些用户信息、网站访问次数、用户偏好设置等数据。本文将详细介绍 JavaScript 中如何进行 Cookie 的读、写与删除操作。 Cookie 的读取 在 JavaScript 中,我们可以使用 document.cookie 读取当前网站的 Co…

    JavaScript 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部