javascript的函数、创建对象、封装、属性和方法、继承

yizhihongxing

下面我将详细讲解JavaScript中函数、创建对象、封装、属性和方法、继承的完整攻略,并且会给出至少两个示例。

函数

函数的定义

函数是一段被封装起来的可复用代码块。在 JavaScript 中,函数可以通过 function 关键字来定义。函数定义的一般语法格式为:

function functionName(param1, param2, ...){
  //函数体
  return xxx;
}

其中,functionName 为函数的名称,param1, param2, ... 为函数的参数列表。函数体中编写需要执行的代码,函数可以带有返回值,在函数体内使用 return 语句声明返回值。

函数的调用

函数可以通过函数名来进行调用,调用时将会按照参数列表传入相应的参数,使用如下语法:

functionName(arg1, arg2, ...)

其中,arg1, arg2, ... 为函数调用所使用的参数。

示例

定义一个计算两个数之和的函数:

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

调用该函数:

let result = add(1,2); // result的值为3

对象

对象的创建

在 JavaScript 中,使用对象来封装数据和功能,用于实现封装和抽象。对象可以由以下几种方式创建:

  1. 对象字面量:
let obj = {
  key1: value1,
  key2: value2,
  ...
}
  1. 构造函数:
function Person(name, age) {
  this.name = name;
  this.age = age;
}
let person = new Person('Tom', 18);

示例

通过对象字面量方式创建对象:

let student = {
  name: 'Tom',
  age: 18,
  gender: 'male',
  study: function(){
    console.log('I am studying!');
  }
}

封装

如何实现封装

封装是将数据和行为包装在对象内部,实现面向对象编程的重要机制。在JavaScript中,封装可以通过将属性和方法提取到构造函数、类或者对象字面量内部来实现。将内部的属性和方法封装在内部后,外部无法直接访问,只能调用公共的方法来获取或者修改属性的值。

示例

使用构造函数实现封装:

function Person(name, age) {
  let _name = name; // 将name属性封装在函数内部
  let _age = age; // 将age属性封装在函数内部

  this.getName = function() {
    return _name;
  }

  this.getAge = function() {
    return _age;
  }

  this.setName = function(name) {
    _name = name;
  }

  this.setAge = function(age) {
    _age = age;
  }
}

let person = new Person('Tom', 18);
console.log(person.getName()); //输出Tom
person.setName('Jerry');
console.log(person.getName()); //输出Jerry

属性和方法

属性和方法的定义

在 JavaScript 中,属性和方法是对象的两部分公共接口。属性是存储在对象中的变量,方法是与对象相关的函数。在 JavaScript 中,可以通过以下两种方式定义属性和方法:

  1. 对象字面量
let obj = {
  key1: value1,
  func1: function(){
    // 方法体
  }
}
  1. 构造函数
function Person(name,age){
  this.name = name;
  this.age = age;
  this.sayHello = function(){
    console.log('Hello, I am ' + this.name);
  }
}

let person = new Person('Tom', 18);
person.sayHello(); //输出Hello, I am Tom

示例

使用对象字面量定义属性和方法:

let student = {
  name: 'Tom',
  age: 18,
  gender: 'male',
  study: function(){
    console.log('I am studying!');
  }
}

console.log(student.name); //输出Tom
student.study(); //输出I am studying!

继承

继承的定义

在面向对象编程中,继承是通过派生一个类来获得新类的机制。在 JavaScript 中,可以通过以下两种方式实现继承:

  1. 原型继承

原型继承是 JavaScript 中的基本继承方式。每一个JavaScript对象都有一个原型对象,可以从原型对象继承属性和方法,同时子对象还可以为自己添加新的属性和方法。

  1. ES6的class关键字

ES6提供了 class 关键字用于定义类。类定义可以继承自其他类并添加新的属性和方法。

示例

ES6的class关键字实现继承:

class Animal {
  constructor(name) {
    this.name = name;
  }
  speak() {
    console.log(this.name + ' makes a noise');
  }
}

class Dog extends Animal {
  constructor(name) {
    super(name); //调用父类的 constructor(name)
  }
  speak() {
    console.log(this.name + ' barks');
  }
}

let d = new Dog('Mitzie');
d.speak(); //输出 Mitzie barks

原型继承优化:

function Animal(name) {
  this.name = name;
}

Animal.prototype.speak = function() {
  console.log(this.name + ' makes a noise');
}

function Dog(name) {
  Animal.call(this, name); //调用父类的构造函数
}

Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;

Dog.prototype.speak = function() {
  console.log(this.name + ' barks');
}

let d = new Dog('Mitzie');
d.speak(); //输出 Mitzie barks

以上就是JavaScript中函数、创建对象、封装、属性和方法、继承的详细讲解,希望能对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript的函数、创建对象、封装、属性和方法、继承 - Python技术站

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

相关文章

  • Javascript读取json文件方法实例总结

    我们来详细讲解一下“Javascript读取json文件方法实例总结”。 什么是 JSON 文件 JSON 是一种轻量级的数据交换格式,使用易读易写的文本格式,可用于保存和传输结构化数据。JSON 中的键值对使用双引号包围,各个键值对之间用逗号分隔,而整个对象则使用花括号包围。以下是一个 JSON 对象的例子: { "name": &qu…

    JavaScript 2023年5月27日
    00
  • js是什么文件格式?.js文件怎么打开?

    JS是JavaScript的缩写,是一种脚本语言,广泛用于Web页面的设计,行为与HTML相互作用,并且可以被各种不同的网页浏览器支持。 对于.js文件,它是JavaScript代码文件的文件扩展名,在开发过程中非常常见。通常,我们需要打开.js文件来编辑、查看或修改其中的代码内容。下面是打开.js文件的几种方法: 方法一:使用文本编辑器 我们可以通过文本编…

    JavaScript 2023年5月27日
    00
  • Javascript基础之数组的使用

    Javascript基础之数组的使用 什么是数组? 数组是Javascript中的一种数据结构,用于存储多个相同类型的数据。一个数组可以包含任意数量的元素,且这些元素可以是数字、字符串、对象、甚至另一个数组。 如何声明一个数组? 声明一个数组的语法是 [],可以选择性地在中括号内包含多个元素。例如: var fruits = [‘apple’, ‘banan…

    JavaScript 2023年5月28日
    00
  • 如何使用JS获取IE上传文件路径(IE7,8)

    当使用Internet Explorer 7或8时,我们可以使用JavaScript获取上传文件的完整路径。这种方法针对IE浏览器而言,Chrome、Firefox、Edge和Safari等浏览器不支持。以下是如何使用JS获取IE上传文件路径的完整攻略: 方法一:利用ActiveX对象 在IE浏览器中使用ActiveX对象可以实现获取IE上传文件路径的功能,…

    JavaScript 2023年5月27日
    00
  • JavaScript 中的单例内置对象Global 与 Math

    JavaScript 中的单例内置对象 Global 是指在整个 JavaScript 运行时期内始终存在的对象,它是所有全局变量和函数的宿主。它提供了很多通用的功能和属性,如全局变量、内存管理、计时器、调试工具等,可以被任何代码访问和使用。下面我们来讲解 Global 对象和 Math 对象的详细内容。 Global 对象 Global 对象是每一个 Ja…

    JavaScript 2023年6月10日
    00
  • 超出JavaScript安全整数限制的数字计算BigInt详解

    超出JavaScript安全整数限制的数字计算BigInt详解 在JavaScript中,数字类型的数据有其取值范围限制。当使用极大或极小的数字时,可能会导致计算结果出现错误。为了解决这个问题,ES2020引入了BigInt类型,可以用来处理任意大的整数。本文讲解BigInt类型相关知识和示例。 什么是BigInt? BigInt是一种特殊的数据类型,可以用…

    JavaScript 2023年5月28日
    00
  • JavaScript事件学习小结(二)js事件处理程序

    以下是“JavaScript事件学习小结(二)js事件处理程序”攻略的详细讲解: 简介 JavaScript中事件处理程序是指在用户与网页交互时由浏览器调用的函数。事件处理程序通常用来响应用户的点击、鼠标移动、键盘输入等行为。 事件处理程序的三种方式 JavaScript中有三种方式定义事件处理程序: 直接在HTML标签中使用内联事件处理程序; 在JS脚本中…

    JavaScript 2023年5月18日
    00
  • javascript 当前日期转化为中文的实现代码

    要将当前日期转化为中文,我们需要使用 JavaScript 的 Date 对象来获取当前日期。然后,我们可以将日期和月份数字转化为中文字符,最后组合起来生成中文日期。下面是实现该功能的完整代码攻略: 步骤一:获取当前日期 使用 JavaScript 的 Date 对象,我们可以获取当前日期的年、月、日: const date = new Date(); co…

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