自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 java复习(华南农业大学)

Java复习期间依照ppt做的学习笔记。

2023-05-30 10:55:25 256

原创 Linux课程复习笔记总结(华南农业大学)

什么是 linux?是一个类 UNIX 内核的可以自由发布的实现版本,是一个操作系统的底层核心(内核)

2023-05-29 19:16:02 326

原创 正则表达式学习记录

匹配文字字符串let testStr = "Hello, my name is Kevin.";let testRegex = /Kevin/;testRegex.test(testStr);// Returns true注:任何其他形式的"Kevin"都不会被匹配。例如,正则表达式/Kevin/不会匹配"kevin"或者"KEVIN"。同时用多种模式匹配文字字符串使用正则表达式/coding/,我们可以在其他字符串中查找"coding"。这对于搜寻单个字符串非常有用,但仅限于一种匹配模

2021-09-01 23:56:38 206

原创 export default 默认导出和 export 默认导入

export导出中有一种被称为默认导出的export的语法。在文件中只有一个值需要导出的时候,我们通常会使用这种语法。它也常常用于给文件或者模块创建返回值。下面是一个简单的export default例子:export default function add(x,y) { return x + y;}注意:当使用export default去声明一个文件或者模块的返回值,你在每个文件或者模块中应当只默认导出一个值。特别地,你能将export deafult与var,let与const一.

2021-08-31 09:52:20 2342

原创 用 * 从文件中导入所有内容

下面是一个从同目录下的"math_functions"文件中导入所有内容的例子:import * as myMathModule from "math_functions";myMathModule.add(2,3);myMathModule.subtract(5,3);也可以总结为以下代码:import * as object_with_name_of_your_choice from "file_path_goes_here"object_with_name_of_your_choice.

2021-08-31 09:44:32 71

原创 export 导出

请看下面例子:const capitalizeString = (string) => { return string.charAt(0).toUpperCase() + string.slice(1);}export { capitalizeString } //如何导出函数。export const foo = "bar"; //如何导出变量。如果想要将所有的export语句打包成一行,也可以像下面这个例子一样实现:const capitalizeString = (string

2021-08-31 09:28:23 213

原创 import 和 require 之间的差异

为什么ES6要新增import在过去,我们会使用require()函数来从外部文件或模块中引入函数或者代码。这时候会遇到一个问题:有些文件或者模块会特别大,但你却往往只需要引入其中的一些核心代码。ES6 给我们提供了import这个便利的工具。通过它,我们能够从外部的文件或者模块中选择我们需要的部分进行引入,从而节约载入的时间和内存空间。举例假如math_array_functions拥有大概20个函数,但是我只需要countItems这一个函数在我当前的文件里。使用老的require()方式会强制

2021-08-31 09:21:51 78

原创 使用 getter 和 setter 来控制对象的访问

Getter 函数的作用是可以让返回一个对象私有变量的值给用户,而不需要直接去访问私有变量。Setter 函数的作用是可以基于传进的参数来修改对象中私有变量的值。这些修改可以是计算,或者是直接替换之前的值。class Book { constructor(author) { this._author = author; } //getter和setter要求同名,且以get和set作为关键字创建 // getter get writer(){ return thi.

2021-08-31 09:12:31 183

原创 使用class语法定义构造函数

ES6 提供了一个新的创建对象的语法,使用关键字class。值得注意的是,class只是一个语法糖,它并不像 Java、Python 或者 Ruby 这一类的语言一样,严格履行了面向对象的开发规范。在 ES5 里面,我们通常会定义一个构造函数,然后使用 new关键字来实例化一个对象:var SpaceShuttle = function(targetPlanet){ this.targetPlanet = targetPlanet;}var zeus = new SpaceShuttle('J

2021-08-31 08:41:21 636

原创 用 ES6 编写简洁的函数声明

在 ES5 中,当我们需要在对象中定义一个函数的时候,我们必须如下面这般使用function关键字:const person = { name: "Taylor", sayHello: function() { return `Hello! My name is ${this.name}.`; }};在 ES6 语法的对象中定义函数的时候,你可以完全删除function关键字和冒号。请看以下例子:const person = { name: "Taylor", sayH

2021-08-31 08:38:53 592

原创 使用简单字段编写简洁的对象字面量声明

ES6 添加了一些很棒的功能,以便于更方便地定义对象。//ES6前的做法:const getMousePosition = (x, y) => ({ x: x, y: y});//ES6 提供了一个语法糖,消除了类似x: x这种冗余的写法.你可以仅仅只写一次x,解释器会自动将其转换成x: x。下面是使用这种语法重写的同样的函数:const getMousePosition = (x, y) => ({ x, y });...

2021-08-31 08:33:36 84

原创 使用解构赋值将对象作为函数的参数传递

在某些情况下,可以在函数的参数里直接解构对象。//解构时,参数名要跟对象变量名相同const fn = function({a, b}) { return a + b}let nums = { a: 1, b: 2}console.log(fu(nums)) // 3

2021-08-30 23:41:54 480

原创 Array.prototype.slice()

slice(begin, end) 方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变。参数如果省略 begin,则 slice 从索引 0 开始。如果 begin 超出原数组的索引范围,则会返回空数组。如果 end 被省略,则 slice 会一直提取到原数组末尾。如果 end 大于数组的长度,slice 也会一直提取到原数组末尾。返回值一个含有被提取元素的新数组。实例var fruits = .

2021-08-30 19:03:40 59

原创 解构赋值配合 rest 操作符来重新分配数组元素

在解构数组的某些情况下,我们可能希望将剩下的元素放进另一个数组里面。除了使用Array.prototype.slice(),还可以使用rest操作符和解构赋值来实现。const [a, b, ...arr] = [1, 2, 3, 4, 5, 7];console.log(a, b); // 1, 2console.log(arr); // [3, 4, 5, 7]显然,…arr截取所有的剩余数组元素,所以当有多个变量时,rest只能放在变量数组的最后。...

2021-08-30 18:56:58 260

原创 使用解构赋值从数组中分配变量

与数组解构不同,数组的扩展运算会将数组里的所有内容分解成一个由逗号分隔的列表。所以,你不能选择哪个元素来给变量赋值。//变量a以及b分别被数组的第一、第二个元素赋值。const [a, b] = [1, 2, 3, 4, 5, 6];console.log(a, b); // 1, 2//也能在数组解构中使用逗号分隔符,来获取任意一个想要的值const [a, b,,, c] = [1, 2, 3, 4, 5, 6];console.log(a, b, c); // 1, 2, 5...

2021-08-30 18:43:47 227

原创 解析赋值从对象中分配变量

解构赋值 就是可以从对象中直接获取对应值的语法。var voxel = {x: 3.6, y: 7.4, z: 6.54 }const { x, y, z } = voxel; // x = 3.6, y = 7.4, z = 6.54const nums = { a: 1, b: 2}const {a, b} = nums//用这种形式结构时变量名必须与参数名相同,不然无法成功赋值const {A, B} = numsconst {a:aa, b:bb} = nums

2021-08-30 13:03:23 103

原创 使用spread运算符展开数组项

//..arr返回了一个“打开”的数组。或者说它展开了数组function howMany(...args) { return "You have passed " + args.length + " arguments.";}console.log(howMany(0, 1, 2)); // 输出:You have passed 3 arguments.console.log(howMany("string", null, [1, 2, 3], { })); // 输出:You have pa

2021-08-30 09:15:11 157

原创 给函数设置默认参数

ES6 里允许给函数传入默认参数,来构建更加灵活的函数。function greeting(name = "Anonymous") { return "Hello " + name;}console.log(greeting("John")); // Hello Johnconsole.log(greeting()); // Hello Anonymous也可以给多个参数设定默认值。函数在传值时会按照参数的顺序进行传值。...

2021-08-30 08:28:56 96

原创 ES6学习记录(var和let、const和高阶函数)

var与let//在同一代码块中,var声明的相同标识的变量会被重新赋值var a = 1var a = 2console.log(a) // 输出2let a = 1let a = 2 //报错//用let声明变量,代表着开启了严格模式。//在同一个代码块中,let声明的变量不允许重复声明变量---------------------------------------------//var声明的变量,会受变量提升的影响,在预编译时会把变量声明提前const//cons

2021-08-29 22:02:59 77

原创 vue中简单的store模式

大型项目中一般使用vuex作为数据存储。但是小项目中存储几个共用数据大可不必使用示例创建一个person.js文件,来储存某人的信息://简单的store模块管理共享状态const Person = { state: { age: 6 }, setAge(age){ this.state.age = age; }}//导出共享模块export default Person在其他组件中使用共享状态://共享状态的改变是通过改变store模式.

2021-08-25 13:48:32 1480

原创 Java多态

2021-08-22 09:51:55 36

原创 Java重写

重写需要有继承关系,子类重写父类的方法!要求方法名必须相同参数列表必须相同方法体不同修饰符:重写函数的修饰符范围可以扩大但不能缩小 Public>Protected>Default>Private抛出的异常:范围可以缩小但不能扩大 ClassNotFoundException --> Exception(大)为什么要重写​ 父类的功能,子类不一定需要,或者不一定满足!快捷键Alt+Insert 选中override...

2021-08-22 09:21:57 43

原创 Java中super关键字

super注意点:super() 方法为调用父类构造器的方法,在子类的构造方法中必须处于第一行。super 只能出现在子类的方法或者构造方法中!super() 和 this() 不能同时调用构造方法, 因为两者在使用是都必须处于第一行,冲突了。在继承条件下,子类构造器默认会调用父类的无参构造方法,如果父类没有定义无参构造器,此时会报错。所以在定义构造器时,一般有参无参一起定义。Vs this:代表的对象不同this:代表本身调用者这个对象super:代表父类对象的应用前提th

2021-08-21 09:15:20 64

原创 Java构造器

构造器是类中的一个方法,new 一个对象即为调用这个方法构造器方法:与类名相同没有返回值作用:new 一个对象即为调用构造器方法在构造器中初始化对象的值注意:​ 构造器有两种形式,一种是无参构造,一种的有参构造,如果想两者都使用,​ 则利用方法的重载定义。...

2021-08-20 12:49:16 63

原创 Java中方法的重载

Java中方法的重载方法重载的规则方法名称必须相同参数列表必须不同(个数不同、类型不同或参数排列顺序不同)方法的返回类型可以相同也可以不相同仅仅返回类型不同不足以成为方法的重载实现理论方法名称相同时,编译器会根据调用方法的参数个数、参数类型等逐个匹配,以选择对应的方法。如果匹配失败,则编译器报错。...

2021-08-19 09:58:30 37

原创 使用cmd命令行程序生成JavaDoc文档

使用cmd命令行程序生成JavaDoc文档1. 找到java文件所在路径2. 在文件路径前输入cmd 后回车(注:cmd后有个空格)3. 输入javadoc -encoding UTF-8 -charset UTF-8 文件名 回车后等待生成至此已经成功生成JavaDoc文档啦,打开生成的index.html文件即可查看文档。...

2021-08-17 17:05:19 183

原创 Markdown学习记录

markdown学习笔记

2021-08-15 22:01:18 65

原创 SCAU_程序设计在线实训_教材习题第九章_链表的有序合并

SCAU_程序设计在线实训_教材习题第九章_链表的有序合并已知有两个链表a和b,结点类型相同,均包括一个int类型的数据。编程把两个链表合并成一个,结点按升序排列题目#include "stdio.h"#include "malloc.h"#define LEN sizeof(struct DATA)struct DATA{ long num; struct DATA *next;};struct DATA *create(int n){

2020-12-28 18:16:33 558

原创 SCAU程序设计习题_循环报数(最后一个数字可变)链表版

SCAU程序设计习题_循环报数(最后一个数字可变)链表版n个人参与游戏围成圈循环报数,决定报到数字为cnt的人出局,用链表找出最后的一个人代码改编自大佬,课后原题代码可移步#include <stdio.h>#include <stdlib.h>typedef struct people{ int id; struct people *next;} LinkList;int main(){ int n, cnt, i; //n为参与游戏的人

2020-12-28 16:29:43 149

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除