自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

觉醒法师的专栏

古今多少事,都附笑谈中

  • 博客(145)
  • 资源 (6)
  • 收藏
  • 关注

原创 JavaScript - 数组对象中实用好玩的reduce方法

JavaScript中reduce() 方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。对于reduce()方法,很多人不太了解,其实熟悉之后会发现它可以应用在很多场景中,而且在老项目中我们也可以自定义实现reduce()功能。

2024-08-12 14:39:30 832

原创 Vue中通过Promise.all处理异步任务同时逐个延迟发送

近期在项目开发中,遇到并发上报信息的问题。由于业务需要,要求同一时间将数组中的数据一起并且逐条发送给后台处理;在使用Promise.all处理多个异步任务时,发现1毫秒间十几条异步请求就发送完毕,导致服务器无法同时处理完毕这些任务,最终部分请求失败问题。所以在使用Promise.all的同时,也需要将每个异步任务的发送时间作个延迟处理。

2024-08-09 13:22:57 1146

原创 微信小程序 - 自定义底部菜单栏

微信小程序底部菜单栏是可以通过自定义来实现的。主要涉及:新建组件、编写组件代码、设置样式、配置导航栏、在页面中引用。自定义底部导航栏可以创建出符合项目设计需求效果,实现个性化的页面切换功能。

2024-08-07 22:38:02 1001

原创 微信小程序 - 自定义计数器 - 优化(键盘输入校验)

微信小程序通过自定义组件,实现计数器值的增加、减少、清零、最大最小值限定、禁用等操作。通过按钮事件触发方式,更新计数器的值,并修改相关联的其它变量。通过提升用户体验,对计数器进行优化设计,使用户操作更加便捷和直观。该篇将讲述一下中间input输入框值变化后的校验操作。

2024-08-05 10:45:50 1111

原创 微信小程序 - 自定义计数器

微信小程序通过自定义组件,实现计数器值的增加、减少、清零、最大最小值限定、禁用等操作。通过按钮事件触发方式,更新计数器的值,并修改相关联的其它变量。通过提升用户体验,对计数器进行优化设计,使用户操作更加便捷和直观。

2024-08-02 12:20:39 1366

原创 微信小程序 - 自定义头部导航栏开发

默认情况下,‌小程序的顶部导航栏由系统自动生成,‌允许修改一些基本样式如背景色、‌文字颜色等。‌然而,‌如果需要实现更复杂的样式,‌如自定义图标、‌背景等,‌或者需要适配不同手机屏幕的高度和样式,‌就需要自定义顶部导航栏。‌ 小程序自定义头部导航栏的开发主要涉及系统顶部状态栏和导航栏标题区域,‌自定义顶部导航栏的好处包括提高用户体验、‌增加页面交互性等。‌创建一个自定义导航栏组件,‌包含导航栏的样式和交互逻辑,‌并在需要使用导航栏的页面中引入自定义导航栏组件。‌

2024-07-30 13:02:28 1205

原创 微信小程序 - 本地存储 增加有效期

小程序的本地存储并没有明确的有效期设置,存储的数据在不超过限制的情况下,会一直保留。小程序提供的本地存储API没有明确设置有效期的功能。为了解决这个问题,我们需要在存储数据时附加一个expiration字段,用于记录数据的过期时间,在获取数据时,检查当前时间是否超过了expiration指定的时间,如果超过则认为数据已失效。由于此方法不是由小程序API直接支持的功能,而是通过检查数据的有效性来模拟有效期行为,小程序本地存储不会自动检查删除过期数据,需要在使用数据时检查数据的有效性。

2024-07-09 13:35:47 1132

原创 ElementUI中的el-table解决宽度问题 - 根据内容自动撑开

在使用element-ui中,会发现表格组件el-table在未指定宽度情况下,会自动计算并给表格宽度赋值。但实际开发中,有时需要根据内容实际长度自动撑开显示,由内容的多少而决定表格的宽度,而不是默认宽度为100%。在默认情况下表格宽度为100%显示,并且列项未指定宽度情况下,剩余部分会平均分配宽度,本案例实际需求是由内容自动撑开显示。componentUpdated

2024-07-03 21:10:53 4241

原创 Element-UI - el-table中自定义图片悬浮弹框 - 位置优化

该篇为前一篇“Element-UI - 解决el-table中图片悬浮被遮挡问题”的优化升级部分,解决当图片位于页面底部时,显示不全问题优化。Vue.directive钩子函数

2024-07-02 12:11:37 915

原创 HarmonyOS开发 - 日志打印

在HarmonyOS中,提供了HiLog日志系统,让应用/服务可以按照指定类型、指定级别、指定格式字符串打印日志内容,帮助开发者了解应用/服务的运行状态,更好地调试程序。通过分析日志,开发人员可以了解程序在出错前后的状态和行为,从而更有效地进行调试。能有效的记录和分析日志数据,使开发人员可以更好地了解程序的运行状况、解决问题、优化性能并满足合规性要求等。当然,对于习惯前端开发人员,HarmonyOS也提供了Console的调试控制台,类似于浏览器提供的JavaScript控制台机制。

2024-06-25 17:38:12 1240

原创 Element-UI实现el-dialog弹框拖拽功能

在实际开发中,会发现很多系统中弹框是可以在浏览器可见区域自由拖拽的,这极大方便用户的操作。在查看Element-UI中弹框(el-dialog)组件的文档说明后,发现并未实现这一功能,不过也无须担心,vue中提供了Vue.directive钩子函数,可以从底层操作DOM来实现并升级弹框的拖拽功能。

2024-06-17 15:58:57 3734 2

原创 Element-UI - 解决el-table中图片悬浮被遮挡问题

在开发中,发现element-ui在el-table中添加图片悬浮显示时,会被单元格遮挡的问题。通过查询得到的解决办法,大多是修改.el-table类中相关样式属性,但经过验证发现会影响到其他正常功能的使用。对于此问题解决其实也并不难,将悬浮图片放在body节点下,通过定位显示即可。所以对于此问题,将通过Vue.directive钩子函数,自定义弹框来实现。

2024-06-16 20:09:24 1241 4

原创 C++面向对象程序设计 - 函数库

在C语言的传统方法中,头文件名包括后缀.h,如stdio.h,math.h等。由于C语言没有命名空间,头文件并不存放在命名空间中,因此在C++程序文件中如果用到带后缀.h的头文件时,不必用命名空间,只需在文件中包含所用的头文件即可。C语言程序中各种功能基本上都是由函数来实现的,在C语言的发展过程中建立了功能丰富的函数库,C++从C语言继承了些函数功能。如果要用函数库中的函数,就必须在程序文件中包含文件中有关的头文件,在不同的头文件中,包含了不同的函数的声明。

2024-06-15 12:37:52 312

原创 C++面向对象程序设计 - 命名空间

在C语言中定义了三个层次的作用域,即文件(编译单元)、函数和复合语句。C++又引入了类作用域,类是出现在文件内的。在不同的作用域中可以定义相同名字的变量,互不干扰,系统能够区别它们。命名空间是ANSI C++引入的可以由用户命名的作用域,用来处理程序中常见的同名冲突。

2024-06-14 17:05:02 700

原创 C++面向对象程序设计 - 异常处理

程序中常见的错误有两大类:语法错误和运行错误。在编译时,编译系统能发现程序中的语法错误(如关键字拼写错误,变量名未定义,语句末尾缺分号,括号不配对等),编译系统会告知用户在第几行出错。由于是在编译阶段发现的错误,因此这类也称为编译错误。在C++发展后期,加了一些功能,作为工具来使用,其中主要有模板(包括函数模板和类模板)、异常处理、命名空间和运行时类型识别,以帮助程序设计人员更方便地进行程序设计和调试工作。

2024-06-11 11:53:30 894

原创 C++面向对象程序设计 - 输入输出流进一步研究

在C++中,输入输出流(I/O)是一个强大的特性,它允许程序与各种输入/输出设备(如键盘、显示器、文件等)进行交互。C++标准库中的头文件定义了基本的输入输出流类,如std::cin(用于输入)、std::cout(用于输出)和std::cerr(用于错误输出)。

2024-06-10 19:47:32 1349

原创 C++面向对象程序设计 - 字符串流

文件流是以外存文件为输入输出对象的数据流,字符串流不是以外存文件为输入输出的对象,而以内存中用户定义的字符数组(字符串)为输入输出的对象,即将数据输出到内存中的字符数组,或者从字符数组(字符串)将数据读入。字符串流也称为内存流。

2024-06-08 19:10:08 834

原创 C++面向对象程序设计 - 文件操作与文件流

在C++中,文件操作通常通过文件流(file streams)来完成,这是库提供的功能。fstream库中的三个主要类用于文件操作:ifstream(用于输入文件),ofstream(用于输出文件)和fstream(用于双向文件操作)。在实际应用中,常以磁盘文件作为对象,即能从磁盘文件读取数据,也能将数据输出到磁盘文件,磁盘是计算机的外部存储器,能够长期保留信息,能读能写,可以刷新重写等等。

2024-06-07 14:31:21 1234

原创 C++面向对象程序设计 - 标准输入流

C++中,头文件iostream.h中定义了cin,cout, cerr, clog等4个流对象,cin是输入流,cout, cerr, clog是输出流。cin是istream类的对象,它从标准输入设备(键盘)获取数据,程序中的变量通过流提取符“>>”从流中提取数据。注意的是,在输入完成数据再按回车键后,该行数据才被送入键盘缓冲区,形成输入流,提取运算符“>>”才能从中提取数据。

2024-05-30 15:24:25 609

原创 C++面向对象程序设计 - 标准输出流

在C++中,标准输出流通常指的是与标准输出设备(通常是终端或控制台)相关联的流对象。这个流对象在C++标准库中被定义为std::cout、std::err、std::clog,它们是std::ostream类的一个实例。

2024-05-28 17:11:36 1197

原创 C++面向对象程序设计 - 输入和输出

这种输入输出称为标准输入输出,简称标准I/O。为了实现数据的有效流动,C++系统提供了庞大的I/O类库,调用不同的类去实现不同的功能。程序的输入指的是文件将数据传送给程序,程序的输出指的是从程序将数据传送输出文件。

2024-05-26 12:40:05 862

原创 Java语言-面向对象程序设计-自定义Date类

在Java中,虽然不建议直接自定义Date类,因为java.util.Date和java.util.Calendar类已经提供了处理日期和时间的基本功能,使用SimpleDateFormat类格式化日期(较常用的方式)。类的属性定义为私有是面向对象编程中的一个重要实践,它体现了封装性、信息隐藏、控制访问、实现代码模块化和遵循面向对象设计原则等思想和原则。

2024-05-24 14:18:15 941 3

原创 HarmonyOS开发之DevEco Studio安装

HUAWEI DevEco Studio是基于IntelliJ IDEA Community开源版本打造,为运行在HarmonyOS和OpenHarmony系统上的应用和服务(以下简称应用/服务)提供一站式的开发平台。错误【The Node.is path can contain only letters, digits, periods (), underscores ( ), hyphens (-), colon and backslash ()】- devEco studio安装路径中不能带有空字符

2024-05-18 20:56:52 892

原创 C++面向对象程序设计 - 纯虚函数和抽象类

在C++中,纯虚函数(Pure Virtual Function)是一种特殊的虚函数,它在基类中被声明但没有定义。纯虚函数用于在基类中创建一个接口,要求所有派生类必须提供该函数的具体实现。纯虚函数通过在虚函数声明的末尾加 = 0 来标识。如果一个类包含一个或多个纯虚函数,那么这个类就被称为抽象类(Abstract Class)。抽象类不能被实例化(即创建对象),因为至少有一个成员函数(即纯虚函数)没有被实现。

2024-05-11 11:42:42 1228

原创 C++面向对象程序设计 - 虚函数

在C++中,虑函数(Virtual Function)是面向对象编程(OOP)中的一个重要概念,它允许派生类(或称为子类)覆盖基类(或称为父类)中的成员函数。当通过基类指针或引用调用一个虚函数时,如果指针或引用实际指向的是一个派生类对象,那么就会调用派生类的虚函数方法,而不是基类中的方法,这种机制被称为动态绑定或运行时绑定。

2024-05-10 10:21:20 1589

原创 C++面向对象程序设计 - 多态性

比如函数重载和运算符重载实现的多态性属于静态多态性,在程序编译时系统就能决定调用的是哪个函数,因此又称编译时的多态性;静态多态性是通过函数的重载实现的,运算符重载实质上也是函数重载。多态性是面向对象程序设计的一个重要特征,多态的意思是一个事物的多种形态。在C++程序设计中,多态性是指具有不同功能的函数可以用同一个函数名,这样就可以用一个函数名调用不同内容的函数。面向对象方法中的多态性,比如说向不同的对象发送同一个消息,不同的对象在接收时会产生不同的行为(即方法)。

2024-05-08 23:24:08 1119

原创 C++面向对象程序设计 - 继承与派生进一步讨论

C++中所谓“继承”就是在一个已存在的类的基础上建立一个新类,从已有的类那里获得已有特性,叫做类的继承。从另一角度说,从已有的类(父类)产生一个新的子类,称为类的派生。一个派生类只从一个基类派生,这称为单继承;一个派生类有两个或多个基类,称为多继承。派生类是基类的具体化,而基类则是派生类的抽象。

2024-05-06 18:25:27 782 3

原创 C++面向对象程序设计 - 多继承,以及基类与派生类转换

单继承是一个类从另一个基类派生类而来的,多继承则是一个派生类是同两个或多个基类,派生类从两人或多个基类中继承所需的属性。

2024-04-28 22:27:05 915

原创 C++面向对象程序设计 - 派生类的构造函数和析构函数

构造函数的主要作用对数据成员初始化,基类的构造函数是不能被继承的,在声明派生类时,派生类并没有把类的构造函数继承下来。因此,对继承过来的基类成员初始化的工作也要由派生类的构造函数完成;所以在派生类中不仅要考虑自身增加的数据成员的初始化,还要考虑基类的数据成员的初始化。

2024-04-26 16:31:02 1159

原创 C++面向对象程序设计 - 继承与派生

C++中所谓“继承”就是在一个已存在的类的基础上建立一个新类,从已有的类那里获得已有特性,叫做类的继承。从另一角度说,从已有的类(父类)产生一个新的子类,称为类的派生。一个派生类只从一个基类派生,这称为单继承;一个派生类有两个或多个基类,称为多继承。派生类是基类的具体化,而基类则是派生类的抽象。面向对象技术强调软件的可重用性(software reusability),C++语言提供了类的继承机制,解决了软件重用问题。

2024-04-25 17:28:46 877

原创 C++面向对象程序设计 - 重载运算符进一步讨论

​函数重载就是对一个已有的函数赋予新的含义,使之实现新的功能。因此一个函数名就可以用来代表不同功能的函数,也就是一名多用。运算符也可以重载,即运算符重载(operator overloading)。在C++中,我们可以通过重载运算符来使得自定义类型(比如复数类)可以像内置类型一样使用运算符。

2024-04-24 13:10:56 941

原创 C++面向对象程序设计 - 不同类型数据间的转换

在C++中,不同类型的数据之间有时需要进行转换,这些转换可以是隐式的,也可以是显式的。

2024-04-22 08:12:33 891

原创 C++面向对象程序设计 - 运算符重载

函数重载就是对一个已有的函数赋予新的含义,使之实现新的功能。因此一个函数名就可以用来代表不同功能的函数,也就是一名多用。运算符也可以重载,即运算符重载(operator overloading)。运算符重载的方法是定义一个重载运算符的函数,在需要执行被重载的运算符时,系统就自动调用该函数,以实现相应的运算。运算符重载实质上是函数的重载。

2024-04-20 16:58:27 1467

原创 C++面向对象程序设计 - 类和对象进一步讨论

在C++中,关于面向对象程序设计已经讲了很大篇幅,也例举很多案例,此篇将通过一些习题来进一步了解对象、静态成员、指针、引用、友元、类模板等等相关知识。

2024-04-15 10:17:41 817

原创 C++面向对象程序设计 - 类模板

C++允许使用函数模板,对于功能相同而数据类型不同的一些函数,不必一一定义各个函数,可以定义一个可以对任何类型变量进行操作的函数模板,在调用函数时,系统会根据实参的类型,取代函数模板中的类型参数,得到具体函数。有时两个或多个类,其功能是相同的,仅仅是数据类型不同。显然这种重复性工作是不必要的,C++在发展后期增加了模板(template)的功能,提供了解决这类的途径;可以声明一个通用的类模板,它可以有一个或多个虚拟的类型参数,创建可以重用的组件,这些组件可以处理多种数据类型,而不仅仅是单一的数据类型。

2024-04-11 09:12:20 1447

原创 C++面向对象程序设计 - 静态成员、友元

在C++中,静态成员是类的一个特性,它们与类本身关联,而不是与类的任何特定对象关联;静态成员可以是数据成员(变量)或成员函数;静态成员在类的所有对象之间共享一个副本,这意味着无认创建多少个类实例,都只有一个静态成员副本存在。友元(friend)是一种特殊的声明,它允许一个函数或类访问另一个类的私有(private)和保护(protected)成员。友元不是类的成员,但它可以访问类的所有成员,包括私有和保护成员。使用友元的主要目的是为了允许在类外部的函数或类能够访问类的私有或保护成员,而不破坏封装性。

2024-04-10 09:28:06 657

原创 C++面向对象程序设计 - 对象的动态建立和释放、赋值和复制

在C++中,对象的动态建立和释放通过使用new和delete操作符来完成的,new用于在运行时动态分配内存以创建对象,而delete用于释放这些动态分配的内存。对象的赋值和复制是两个不同的概念,赋值是通过操作符“=”进行的;复制是构造函数来实现的。

2024-04-09 15:16:21 1160

原创 C++面向对象程序设计 - 共用数据的保护(常对象、常指针和常引用)

C++虽然采取了不少有效的措施(如设private保护)以增加数据的安全性,但是有些数据却往往是共享的,例如实参与形参,变量与其引用,数据与其指针等,人们可以在不同的场合通过不同的途径访问同一个数据对象。既要使数据能在一定范围内共享,又要保证它不被任意修改,这时可以使用const,即把有关数据定义为常量。这篇了解下常对象、常对象成员、对象的常指针、对象的常引用。

2024-04-07 20:41:50 824

原创 C++面向对象程序设计 - 对象指针和this指针

在C++学习中,指针是一个用于指向另一个变量的地址的变量。理解指针有一定难度,但是理解它的工作原理后,会发现它们是非常强大和有用的工具。指针可以用来指向一般的变量,也可以指向对象。在建立对象时,编译系统会为每一个对象分配一定的存储空间,以存放其成员。对象空间的起始地址就是对象的指针。

2024-04-06 17:11:35 1154

原创 C++面向对象程序设计 - 数组与sizeof、对象指针使用

在C++中,sizeof是一个运算符,用于获取特定类型或对象在内存中所占用的字节数。这个运算符在多种场景下都非常有用,包括内存管理、性能优化以及理解数据结构在内存中的布局。数组是一种可以存储多个同类型元素的线性数据结构。每个元素在数组中有一个唯一的索引,通常从0开始。数组提供了一种方便的方式来存储和处理一组相关的数据。在C++中,获取数组长度并不像获取其他数据类型的大小那样直接,因为数组本身并不包含其长度的信息。所以这篇讲解的是,如何结合sizeof获取数组的长度。并且通过对象指针,也可以获取数组长度。

2024-04-03 15:26:10 1003

PHP的排序和查找方法

PHP的排序(内部排序法:1.冒泡排序 2.插入排序 3.选择排序 4.快速排序)和查找方法(1.顺序查找 2.二分查找)

2013-10-07

Java随机产生数组元素并无重复元素方法

Java随机产生数组元素并防止产生有重复元素方法

2012-07-04

Java迷你DVD管理系统

北大青鸟课程练习,DVD管理系统增强版,个人增加了些功能,仅供参考!

2012-06-30

Frontend反编译软件加jad文件

将FrontEnd.exe、jad.exe放到 Java\jdk1.6.0_23\bin即可。然后点击FrontEnd.exe文件即可打开并进入图形反编译界面了

2012-06-26

C语言程序设计(第三版)-谭浩强

C语言是国际上广泛流行的高级语言。 C语言是在B语言的基础上发展起来的。 B (BCPL)语言是1970年由美国贝尔实验室设计的, 并用于编写了第一个UNIX操作系统,在PDP 7上实现。优点:精练,接近硬件,缺点:过于简单,数据无类型。 1973年贝尔实验室的D.M.Ritchie 在B语言的基础上设计出了C语言,对B取长补短,并用之改写了原来用汇编编写的UNIX,(即UNIX第5版),但仅在贝尔实验室使用。

2012-06-25

Java数组排序三种方法

Java程序中,排序算法有很多种,此次给大家介绍的是类排序方法、冒泡排序方法和直接排序方法。

2012-06-14

空空如也

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

TA关注的人

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