【笔记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

相关文章
|
9月前
|
JavaScript 前端开发
JavaScript判断各种资源是否加载完成的方法汇总,资源预加载问题
JavaScript判断各种资源是否加载完成的方法汇总,资源预加载问题
356 0
|
9月前
|
JavaScript 前端开发
JavaScript中Date对象的方法解析
JavaScript中Date对象的方法解析 上篇文章讲到了JavaScript的Date对象,对Date对象的创建和属性进行了讲解,这篇博客我们来讲一讲Date对象的方法有哪些。 1.获取日期的方法 // 获取当前的日期 var oDate=new Date(); // 方法 描述 // getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 console.log(oDate.getDate()); // getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6)。 c
|
9月前
|
JavaScript 前端开发
JavaScript的字符串之HTML包装方法
JavaScript的字符串之HTML包装方法 前面以前文章我们讲解了字符串的各种方法。这篇文章对字符串的方法进行一些补充。 1.字符串的indexOf()和lastIndexOf()方法的补充 var str='hello world'; // indexOf() lastIndexOf() // 不加第二个参数 console.log(str.indexOf("l");// 2 console.log(str.lastIndexOf("l");// 9 console.log(str.indexOf("l",5));// 9 5之后
|
9月前
|
JavaScript 前端开发 索引
JavaScript数组对象的迭代方法详解
JavaScript数组对象的迭代方法详解 上一篇博客讲到了数组的方法,当然里边比较复杂的就是数组的迭代方法,因为涉及到了回调函数,所以这篇博客我们来详细讲解一下js数组迭代方法的使用。 1.forEach(funcrion(value,index,arr){}):对数组的每一项运行给定函数,这个方法不进行返回,所以一般用于让数组循环执行某方法。 var arr=[1,2,3,4,5,6]; arr.forEach(function(val,index,arr){ console.log(val,index,arr); }) // 其中:
|
9月前
|
设计模式 JavaScript 前端开发
【JavaScript】面向对象——创建多个对象的四种方法(详解)
【JavaScript】面向对象——创建多个对象的四种方法(详解)
98 0
|
9月前
|
JavaScript 前端开发
JavaScript函数柯里化的实现原理,进来教你完成一个自己的自动实现柯里化方法
JavaScript函数柯里化的实现原理,进来教你完成一个自己的自动实现柯里化方法
131 0
|
9月前
|
JavaScript 前端开发
JavaScript总结:typeof与instanceof的区别,及Object.prototype.toString()方法
JavaScript总结:typeof与instanceof的区别,及Object.prototype.toString()方法
106 0
JavaScript总结:typeof与instanceof的区别,及Object.prototype.toString()方法
|
9月前
|
JavaScript 前端开发 Go
加载Javascript脚本的方法
加载Javascript脚本的方法
93 0
|
10月前
|
JavaScript
JS 实现给数字加三位一逗号间隔的两种方法
JS 实现给数字加三位一逗号间隔的两种方法
|
10月前
|
JavaScript 安全 索引
JS数组reduce()方法详解及高级技巧
JS数组reduce()方法详解及高级技巧
相关产品
云迁移中心
推荐文章
更多