- 博客(176)
- 资源 (2)
- 收藏
- 关注
原创 ngup的各种工具网站(持续更新)
OI WikiOI Wiki 致力于成为一个免费开放且持续更新的知识整合站点,大家可以在这里获取关于 编程竞赛 (competitive programming) 有趣又实用的知识AI智能图片放大他通过神经网络,针对放大图片的线条、颜色、网点等特点,做特殊的算法调整,所以放大效果非常出色, 色彩保留较好, 图片边缘也不会有毛刺和重影,。更重要的是,影响画质的噪点基本在放大的图片上看不出来。...
2020-05-14 19:28:20 506 2
原创 总结一下大学生必须知道的的排序算法
文章目录说明1.冒泡排序(Bubble Sort)1.1基本思想1.2算法描述1.3复杂程度1.4代码实现1.5冒泡排序的优化2.选择排序(Selection Sort)2.1基本思想2.2算法描述2.3复杂程度和稳定性2.4代码实现2.5代码优化3.插入排序(Insertion Sort)3.1基本思想3.2算法描述3.3复杂程度3.4代码实现3.5代码优化3.5.1二分(折半)插入排序3.5....
2020-02-21 13:17:25 984
原创 轻松上手C++的标准模板库的使用
简介STL Standard Template Library - 标准模板库又称 C++ 泛型库C++ STL(标准模板库)是一套功能强大的 C++模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。c++标准模板库的核心包括以下三个组件:组件描述容器(Containers)容器是用来管理某一类对象的集合...
2020-02-12 15:14:26 1409
原创 webpack5的JS基础配置
Webpack 对 js 处理是有限的,只能编译 js 中 ES 模块化语法,不能编译其他语法,导致 js 不能在 IE 等浏览器运行,所以我们希望做一些兼容性处理。其次开发中,团队对代码格式是有严格要求的,我们不能由肉眼去检测代码格式,需要使用专业的工具来检测。BabelEslint在使用webpack进行打包时,先试用Eslint检测代码格式无误后,再由Babel做代码兼容性处理。
2024-02-22 11:44:46 607
原创 webpack5入门配置
过去在 Webpack4 时,我们处理图片资源通过 file-loader 和 url-loader 进行处理。默认 Webpack 会将文件打包输出到 dist 目录下,我们查看 dist 目录下文件情况就好了。css-loader:负责将 Css 文件编译成 Webpack 能识别的模块。less-loader:负责将 Less 文件编译成 Css 文件。sass-loader:负责将 Sass 文件编译成 css 文件。sass:sass-loader 依赖 sass 进行编译。
2024-02-21 17:32:48 1006
原创 深入理解React中的虚拟DOM(源码+分析)
- 什么是虚拟dom?- 虚拟dom做了什么?他的优点是什么?他的出现带来了什么改变、解决了什么问题?- 虚拟dom的性能如何?是否比原生的dom操作更快?- react的虚拟dom是如何实现的?react是如何将虚拟dom转变为真实dom?
2022-12-14 20:51:10 2773 1
原创 vue中的性能优化
前端性能优化的目的是使网站的加载速度更快,从而提高用户体验。用户等待网站加载的时间越短,他们就越可能对网站产生好感,并越可能继续在网站上浏览。此外,在移动设备上,性能优化可以帮助网站在较慢的网络条件下仍然能够流畅运行。性能优化也可以降低服务器的负载,从而降低运营成本。总之,前端性能优化是为了提高网站的速度和用户体验,并降低运营成本。
2022-12-08 15:49:03 2895
原创 vue3中的自定义指令
在vue中,自定义指令可用于定义复杂的行为或公用的行为,以便于在多个组件中重复使用。例如,如果你想在一个应用中多处使用拖拽功能,你可以定义一个指令,某个组件通过使用该指令来为某个元素启用拖拽功能。另一个例子是,如果你想在一个应用中多处使用格式化日期的功能,你可以定义一个 指令,在组件中通过使用该指令来自动格式化日期。总之,当你想要在多个组件中重用某个复杂的行为或逻辑时,就可以考虑使用自定义指令。Vue 3 的指令系统与 Vue 2 相比有了一些改变。在 Vue 2 中,指令是一种特殊的 attribute,
2022-12-07 16:48:18 1825
原创 工程化项目中的git提交信息规范
每个提交信息都由这些内容组成:type(类型),scope(范围)和subject(主题)必须是其中之一:scope (一般可省略)范围可以是指定提交更改位置的任何内容。例如$location, browser,browser,browser,compile,$rootScope,ngHref,ngClick,ngView,等…当更改影响的范围不止一个范围时,可以使用*(星号)标识。主题简要描述了更改
2022-12-07 14:44:43 350
原创 vue中的h函数与JSX语法
vue不仅像react一样实现了jsx,而且还借助jsx发挥了javascript动态画的优势,了解学习jsx可以让你更灵活的开发需求。在聊vue中的JSX之前,需要简单介绍一下 h 函数,理解了 h 函数,会更好的理解JSX。是一个用于创建VNode的实用程序,你可以理解为,但因为它频繁的被使用,所以简称为函数。2.理解h函数在vue3的项目中,是默认的写法,vue运行时会把解析为函数,之后,组件运行的时候通过函数去返回函数的运行结果去构造虚拟DOM上面的图片是我随意运行了一个demo,打开vue调
2022-12-06 20:03:13 3183
原创 解决SyntaxError: Cannot use import statement outside a module(ts文件运行问题)
ts文件运行出错
2022-12-01 17:51:22 1816
原创 import与require有什么区别(ES6模块和CommomJS模块的区别)
不知道你在学习别人的代码时,有没有遇见过这样的代码这里为什么没有用import?首先我们需要了解一下,import和require的功能是什么,他们又有什么区别。
2022-11-30 16:47:49 384
原创 Vue2常见的缺陷与Vue3带来的新特性
通过上面的图可以知道,Vue2所有的模块都是杂糅在一起的,这样做会导致不好拓展的问题,Vue3是怎么解决的呢?重构-拆包,使用monoerpo管理方式,响应式、编译和运行就全部独立了Vue3中,响应式独立了出来,而Vue2中的响应式只服务于Vue,Vue3中响应式与Vue解耦,你甚至可以在NodeJ S和React中使用响应式。渲染逻辑也被拆分为 平台无关渲染逻辑 和 浏览器渲染API 两部分。
2022-11-28 18:14:31 3685
原创 Array各种方法总结,分类汇总
返回一个新数组,这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成。方法返回一个新的数组对象,这一对象是一个由begin和end决定的原数组的浅拷贝。从数组中删除最后一个元素并返回该元素的值,若数组为空则undefined,改变原数组。从数组中删除第一个元素并返回该元素的值,若数组为空则undefined,改变原数组。按照一个可指定深度的递归遍历数组,将所有元素包括子数组中的元素合并为新数组并返回。复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度。...
2022-07-17 17:39:49 695
原创 Vue基础——Vue的基本使用
文章目录一、基本使用步骤测试样例测试样例代码中MVVM对应关系图一、基本使用步骤导入Vue.js的script脚本在页面中声明一个将要被Vue控制的DOM区域创建VM实例对象(Vue实例对象)测试样例<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-wi
2022-05-02 13:59:29 1361
原创 async/await 以及同步、异步任务的执行过程
async和await关键字让我们可以用一种更简洁的方式写出基于Promise的异步行为,而无需刻意地链式调用promise。在其出现之前,开发者只能通过 链式.then() 的方式处理promise异步操作,这样写出的代码冗余且不易读语法async function name([param[, param[, ... param]]]) { statements }参数name 函数名称param要传递给函数的参数的名称statements包含函数主题的表达式,可以awai
2022-04-26 20:49:12 3908 1
原创 JavaScript基础——window对象、BOM对象
文章目录1、BOM(浏览器对象模型)2、定时器——延时函数3、 JS执行机制3.1 同步和异步4、 location对象5、navigator对象6、history对象1、BOM(浏览器对象模型)BOM(Browser Object Model)是浏览器对象模型window对象是浏览器内置的全局对象,大部分webAPIs的只是内容都是基于Window实现的window对象下包含了navigator 、location 、document、history、screen五个属性,即所谓的BOMdoc
2022-04-06 17:23:34 1706
原创 JavaScript基础——滚动事件、加载事件、三大家族
文章目录一、滚动事件和加载事件1.1 滚动事件1.2 加载事件二、元素的大小和位置2.1 scroll家族2.2 offset家族2.3 client家族一、滚动事件和加载事件1.1 滚动事件当页面滚动时触发的事件时间名:scroll样例,监听整个页面滚动:window.addEventListener('scroll',funtion(){ //执行操作})可以给window或者document添加scroll事件1.2 加载事件加载外部资源(如图片、外联CSS和JavaScr
2022-04-05 17:29:57 4210
原创 JavaScript基础——事件流、事件委托
1、事件流1.1 事件流与两个阶段的说明事件流指的是事件完整执行过程中的流动路径假设页面里有个div,当触发事件时,会经历两个阶段,分别是捕获阶段、冒泡阶段捕获阶段:从父到子。 冒泡阶段:从子到父1.2 事件捕获和事件冒泡1.2.1事件捕获阶段事件捕获是指事件被触发时从DOM根元素开始去执行对应的事件(从里到外)事件捕获需要写相应的代码才能看到效果:DOM.addEventListener(事件类型,事件处理函数,是否使用捕获机制)若在是否使用捕获机制处传入 true 则代表是
2022-03-29 10:13:03 2448
原创 JavaScript基础——事件对象及其属性
1、 获取事件对象事件对象是事件在被触发时产生的一个对象,这个对象里有事件触发时的相关信息例如:鼠标点击事件中,事件对象就存了鼠标点在哪个位置等信息获取事件对象:在事件绑定的回调函数的第一个参数就是事件对象,一般命名为event、ev、e//e就是事件对象元素.addEventListener('click',function(e){ alert('测试')})2、 事件对象的常用属性部分常用属性type,获取当前的事件类型clientX/clientY,获取光标相对于浏览器当
2022-03-29 09:35:19 1979
原创 JavaScript基础——事件对象、时间戳
1、时间对象实例化时间对象:用来表示时间的对象作用:可以得到当前系统的时间代码中 new 关键字一般用来实例化对象创建一个时间对象并获取时间获取当前时间 let date = new Date()获取指定时间 let date = new Date('1949-10-01 18:30:01')代码样例let date = new Date()console.log(date)let last = new Date('2021-8-29 18:30:00')console.lo
2022-03-28 10:39:14 1386
原创 JavaScript基础——DOM节点操作
1、DOM节点DOM树里每一个内容都称之为节点1.1 节点类型元素节点所有的标签比如body、divhtml是根节点属性节点所有的属性,比如href文本节点所有的文本其他文档对象模型2、查找节点2.1 父节点查找parentNode属性语法:子元素.parentNode功能:返回最近一级的父节点,找不到返回为null2.2 子节点查找childNodes属性获得所有子节点、包括文本节点(空格、换行)、注释节点等children属性(重点)仅获得所
2022-03-27 20:31:35 957
原创 JavaScript基础——事件、高阶函数
文章目录1、事件1.1 事件以及事件监听器1.2 事件类型1.3 事件监听的版本2、高阶函数2.1 函数表达式2.2 回调函数3、环境对象1、事件1.1 事件以及事件监听器事件就是在编程时系统内发送的动作或者发生的事情,比如用户在网页上单击一个按钮什么是事件监听?就是让程序检测是否有事件产生,一旦有事件触发,就立即调用一个函数做出响应,也称为 注册事件语法:元素.addEventListener('事件',要执行的函数)事件三要素:事件源:某个dom元素被触发了,要获取这个dom元素事件
2022-03-26 16:00:55 989
原创 JavaScript基础——DOM
文章目录1、Web API2、DOM2.1 DOM 简介2.2 DOM树2.3 DOM对象3、获取DOM元素3.1 根据CSS选择器获取DOM元素3.1.1 选择匹配的第一个元素3.1.2 选择匹配多个元素3.2 其他方法获取DOM元素4、设置DOM元素的内容4.1 document.write()方法4.2 对象.innerText属性4.3 对象.innerHTML属性4.4 区别5、修改DOM元素的内容6、设置、修改元素样式属性6.1 通过style属性操作CSS7、定时器、间歇函数7.1 开启定时器
2022-03-22 21:24:07 1866
原创 JavaScript基础——匿名函数
1、匿名函数将匿名函数赋值给一个变量,并且通过变量名称进行调用,我们将这个称为函数表达式匿名函数:let fn = function(){ 函数体}调用:fn()2、立即执行函数语法:// 方式一(function (形参x,形参y) {console.log(111)}) (实参x,实参y);//方式二(function (形参x,形参y) { console.log(222)} (实参x,实参y));立即执行函数不需要调用,立即执行立即执行函数可以避免全局变.
2022-03-19 18:58:56 1017
原创 JavaScript基础——作用域以及作用链
作用域概述通常来说,一段程序代码中所用到的名字(变量名,函数名),并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字的冲突1、变量的作用域在JavaScript中,根据作用域的不同,变量可以分为注意:如果函数内部或者块级作用域内部,某个变量没有声明,直接使用,也当全局变量看,但是不推荐使用但是有一种情况,函数内部的形参也可以看作是局部变量变量访问原则-作用域链思考:在不同的作用域下,可能存在
2022-03-19 18:39:53 724
原创 JavaScript基础——数据类型的检测及转换
1、数据类型检测1.1 控制台输出语句检测在控制台输出时,颜色为蓝色表示数值类型,颜色为黑色表示字符串类型1.2 typeof 检测数据类型样例代码:console.log(typeof num)2、数据类型转换JavaScript是弱数据类型,只有对变量进行赋值之后才知道变量属于什么数据类型所以就导致在使用表单,prompt等获取过来的数据默认是字符串类型的,此时就无法直接用其进行加减法运算两个字符换用+号连接时,会进行拼接字符串此时就需要进行数据类型的转换,就是把一种数据
2022-03-17 19:59:22 1504
原创 JavaScript基础——数据类型
文章目录1、数据类型分类2、数字类型(number)3、字符串类型(string)3.1 模板字符串4、布尔类型(boolean)5、未定义类型(undefined)6、空类型(null)7、总结使用1、数据类型分类JS数据类型整体分为两大类:基本数据类型引用数据类型基本数据类型:number数字型string字符串型boolean布尔型undefined未定义型null空类型引用数据类型:object对象function函数array数组2、数字类型(number)可以
2022-03-17 17:14:40 687
原创 JavaScript基础——JavaScript介绍与变量的使用
1、JavaScript的基本介绍JavaScript是什么?JavaScript是一门编程语言,可以实现很多的网页交互效果JavaScript书写位置?内联JavaScript内部JavaScript,写到</body>标签上边外部JavaScript,通过src属性引入到 html 页面中,但是<script>标签中不能些内容,否则会被忽略JavaScript注释单上注释://多行注释:/* */JavaScript的结束符是什么?分号
2022-03-17 10:15:04 698
原创 JavaScript基础——常见的输入输出语法
输入和输出也可以理解为任何计算机的交互,用户通过键盘、鼠标等向计算机输入信息,计算机处理后再展示给用户,这便是一次输入和输出的过程输出语法document.write('内容');向body输出内容,如果输出的内容写的是标签,那么其也会被解析成网页元素alert(‘内容’);页面弹出警告对话框console.log(‘内容’;)控制台输出语法,程序员调试使用输入语法prompt('内容');显示一个对话框,包含一条文字信息,用来提示用户输入文字...
2022-03-16 10:19:43 2214
原创 web前端基础——响应式布局BootStrap框架
文章目录1、BootStrap栅格系统1、BootStrap栅格系统所谓的栅格系统是指在Bootstrap3中,把我们的网页宽度等分成12等份,而每个内容占12份中对应的份数。
2022-03-15 17:39:27 665
原创 web前端基础——媒体查询
1、媒体查询1.1 介绍能够根据设备宽度的变化,设置差异化的样式媒体特性常用写法:1.max-width2. min-width样例代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewpo
2022-03-15 15:06:24 2783
原创 web前端基础——vw、vh移动适配
vw适配原理实现在不同宽度的设备中,网页元素尺寸等比缩放的效果vw单位尺寸确定设计稿对应的vw尺寸(1/100视口宽度)vw单位的尺寸=px单位数值 / (1/100视口宽度 )在实际的生产环境中,vw、vh单位一般是不混用的...
2022-03-14 09:19:14 604
原创 web前端基础——Less语法
在使用rem对移动端界面布局进行适配时,需要完成px单位到rem单位的转换,这个过程中的除法运算对于界面中很多个标签时,是很麻烦的,但是CSS又不支持计算写法,那么有什么办法可以解决这个问题呢?文章目录1、Less语法简介2、Less语法的运算3、Less语法快速生成选择器4、Less变量设置属性值5、Less文件的导入与导出5.1 导入5.2 导出5.3 禁止导出1、Less语法简介Less是一个CSS预处理器,Less文件后缀是.less扩充了CSS语言,使CSS具备一定的逻辑性、计算能力.
2022-03-11 17:02:16 9925
C语言开发FlyBird小游戏,飞翔小鸟小游戏,可以直接运行!
2020-05-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人