【笔记10】JS的类、继承、Getter和Setter、jQuery的extend方法

简介: 最近要使用 Layui mini 单页版进行后台管理项目的前端页面的开发。完完全全使用 Layui 的模块化开发项目还是比较伤脑筋,所以我决定对 Layui mini 单页版进行自己的封装。封装需要了解 JS 相关的语法和知识点,该篇文章就是对封装过程中 JS 知识点的记录。技术支持:https://www.runoob.com/js

一、前言

最近要使用 Layui mini 单页版进行后台管理项目的前端页面的开发。完完全全使用 Layui 的模块化开发项目还是比较伤脑筋,所以我决定对 Layui mini 单页版进行自己的封装。封装需要了解 JS 相关的语法和知识点,该篇文章就是对封装过程中 JS 知识点的记录。
技术支持:https://www.runoob.com/js

二、JS 的类

// 类是用于创建对象的模板
// 下面代码中的 name 和 age 是 Animal 的属性(JS 属性的
// 写法和 Java 不同)

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

在这里插入图片描述
创建对象时会自动调用构造函数方法 constructor()

在这里插入图片描述
在这里插入图片描述

class Animal {
    constructor(birthYear) {
        this.birthYear = birthYear
    }

    /**
     * 计算年龄的方法
     */
    calculateAge(year) {
        return new Date().getFullYear() - year
    }
}

三、JS 类继承

与 Java 一样,JS 类继承使用 extends 关键字。
super() 方法用于调用父类的构造函数
在这里插入图片描述
继承可实现代码的复用。

JS 的 Getter 和 Setter

JS 的 Getter 和 Setter 方法通过 get 和 set 关键字进行定义。

class Animal {
    constructor(name, age) {
        this._name = name // 下划线开头表示是对象的内部属性
        this._age = age
    }

    get getAge() {
        return this._age
    }

    set setName(name) {
        this._name = name
    }
}
        let dog = new Animal('FlowerDog', 3)
        
        console.log('dogName: ' + dog.name)
        
        // 设置 dog 对象的属性值
        dog.setName = 'GoodDog'

        console.log('dogName: ' + dog.name)
        
        // 即使 getter 是一个方法,要获取属性值时也不要使用括号
        console.log('dogAge: ' + dog.getAge)

使用 Setter 的方式和设置属性值的方式一样。虽然 Setter 是一个方法,但不需要带括号(JS 的 Setter 方法的使用和 Java 的 Setter 方法的使用不一样。)

在 Setter 方法中,一切的 return 都是无效的。

四、 JS 的 静态方法

静态方法(类方法):使用 static 关键字修饰的方法。它属于类而不属于对象。在实例化对象之前可通过 类名.方法名 调用静态方法。

静态方法不能在对象上调用,只能在类中调用。

五、封装过程的小知识点

在这里插入图片描述

(1) jQuery 的 extend() 方法

作用:可将一个或多个对象的内容合并到目标对象。

注意:
① 若只为 $.extend() 指定了一个参数,则意味着参数 target 被省略。此时,target 就是 jQuery对象本身。通过此方式,可为全局对象 jQuery 添加新的函数。
② 若多个对象具有相同的属性,则后者会覆盖前者的属性值。
在这里插入图片描述

六、解决 IDEA 遇到 java 文件有橘色图案的解决办法

感谢大哥的文章。
https://blog.csdn.net/wztmds/article/details/124435140

相关文章
|
8天前
|
存储 JavaScript 索引
JS中数组的相关方法介绍
JS中数组的相关方法介绍
|
10天前
|
JavaScript 前端开发 容器
AJAX载入外部JS文件到页面并让其执行的方法(附源码)
AJAX载入外部JS文件到页面并让其执行的方法(附源码)
14 0
|
11天前
|
JSON JavaScript 前端开发
JavaScript原生代码处理JSON的一些高频次方法合集
JavaScript原生代码处理JSON的一些高频次方法合集
|
26天前
|
JavaScript
js开发:请解释什么是ES6的类(class),并说明它与传统构造函数的区别。
ES6的类提供了一种更简洁的面向对象编程方式,对比传统的构造函数,具有更好的可读性和可维护性。类使用`class`定义,`constructor`定义构造方法,`extends`实现继承,并可直接定义静态方法。示例展示了如何创建`Person`类、`Student`子类以及它们的方法调用。
21 2
|
28天前
|
JavaScript 前端开发
js开发:请解释原型继承和类继承的区别。
JavaScript中的原型继承和类继承用于共享对象属性和方法。原型继承利用原型链查找属性,节省内存但不支持私有成员。类继承通过ES6的class和extends实现,支持私有成员但占用更多内存。两者各有优势,适用于不同场景。
18 0
|
8天前
|
JavaScript 前端开发 索引
JavaScript中与字符串相关的方法
JavaScript中与字符串相关的方法
|
1天前
|
JavaScript 前端开发 Java
js 垃圾回收机制的方法
js 垃圾回收机制的方法
|
1天前
|
JavaScript 前端开发
js数据类型有几类?一共有几种?判断数据类型的方法是什么?
js数据类型有几类?一共有几种?判断数据类型的方法是什么?
|
2天前
|
JavaScript 前端开发
js绑定事件的方法
js绑定事件的方法
18 11
|
3天前
|
JavaScript
JS生成uuid的四种方法
JS生成uuid的四种方法
7 0