自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于js中数组连接的问题——concat和push.apply

数组连接concat[].push.applyconcat数组连接一般的方法就是JS数组内置的concat方法。var oldArr = [];var arr = [1, 2, 3];var newArr = oldArr.concat(arr);console.log(oldArr);//[]console.log(newArr);//[1, 2, 3]通过上面的例子我们发现arr.concat方法进行连接是没有改变原数组的,而是申请了一块新的区域进行存储。[].push.apply

2021-12-20 23:26:17 865

原创 小程序和html5开发的差异

小程序与HTML5的区别1. 运行环境不同2. 开发工具不同:3. 开发语言不同:4. 组件封装不同:5. 开发成本不同:6. 获取系统级权限的不同。7. 更新版本流程不同小程序和html5开发相对来说还是有非常明显的差别:1. 运行环境不同H5是一个技术,是依附于浏览器来运行的。面对复杂的业务逻辑或者丰富的页面交互时,它的体验总是不尽人意,需要不断的对项目优化来提升用户体验。小程序本身是一个应用,依附在各大超级流量平台当中去运行。比如微信小程序的运行环境很有可能是微信开发团队基于浏览器内核完全重构

2021-11-17 23:23:40 8229

原创 HTTP状态码大全

HTTP状态码总结1**2**3**4**5**6**HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:分类分类描述1**信息,服务器收到请求,需要请求者继续执行操作2**成功,操作被成功接收并处理3**重定向,需要进一步的操作以完成请求4**客户端错误,请求包含语法错误或无法完成请求5**服务器错误,服务器在处理请求的过程中发生了错误1**信息,服务器收到请求,

2021-11-12 00:03:06 1868

原创 详解localStorage和sessionStorage

localStorage和sessionStorage一、什么是 localStorage、sessionStorage二、使用方法三、localStorage 的优势与局限一、什么是 localStorage、sessionStorage在 HTML5 中,新加入了一个 localStorage 特性,这个特性主要是用来作为本地存储来使用的,解决了 cookie 存储空间不足的问题(cookie 中每条 cookie 的存储空间为 4k),localStorage 中一般浏览器支持的是 5M 大小,

2021-09-11 16:55:39 6315 6

原创 NodeJS中的模块和npm包管理器

NodeJS中的模块和包Node使用模块的原因Node中模块的使用(CommonJS标准)核心模块npm包管理器Node的文件系统fs模块Node使用模块的原因可以提高代码的利用率,可读性,减少程序的代码量可以实现代码的共享根据实际开发的需求对外暴露模块的属性和方法Node中模块的使用(CommonJS标准)使用moduel.exports导出模块:让模块对外暴露使用者可以通过require(模块名)将模块导入到当前的程序中使用使用exports导出模块中的部分的属性 export

2021-09-10 22:13:16 128

原创 暗影精灵5触摸板双指手势失效问题

触摸板的双指手势滑动突然失灵,不晓得怎么回事。可能是驱动问题。https://h30318.www3.hp.com/pub/softpaq/sp93001-93500/sp93437.exe我重新安装驱动之后就好了,但过一会又出现了问题,需要反复安装。安装之后测试一下,如果依旧无法使用的话,可以尝试将系统检测更新到最新版。...

2021-09-01 09:16:12 1542

原创 虚拟DOM

虚拟DOMReact框架的核心优势之一, 就是支持创建虚拟DOM来提高页面性能。那么, 什么是虚以DOM呢?其实, 虚拟DOM这个概念很早就被提出来了, 是相对于实际DOM而言的。设计人员在设计传统HTML网页的UI时, 都会在页面中定义若干的DOM元素, 这些DOM元素是所谓的实际DOM。通常, 页面中的实际DOM负责承载着外观表现和数据变化,任何外观形式的改变或数据信息的更新都要反馈到UI上, 都是需要通过操作实际DOM来实现的。于是, 问题也就自然出现了。对于复杂的页面UI而言, 往往会定义大量

2021-08-25 21:52:56 226 2

原创 MySQL ERROR 1025 - Error on rename of ‘...‘ 和1005 - Can‘t create table ...中可能存在的问题

出现1025错误可能的原因:主键或外键的字符长度为0,或者两者不一致此列正在被其他表使用,如修改的是ID,主键列, 而该列被其他表作为外键(解决办法是先删除外键,然后再进行相应的修改操作)在mysql 中建立引用约束的时候会出现MySQL ERROR 1005: Can’t create table (errno: 150)的错误信息结果是不能建立引用约束。出现1005错误可能的原因:主键和外键的引用类型不一样,如主键是int,外键是varchar找不到主表中引用的列创建新的外键名时,.

2021-08-21 22:24:31 2987

原创 Javascript实现斐波那契数列多种方法——【循环、递归】

斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)循环var fib = function(n) { let pre = 0; let

2021-08-20 20:40:52 3591 2

原创 JS 的构造函数、原型和原型链

构造函数、原型和原型链构造函数构造函数简介静态成员和实例成员构造函数和类的区别构造函数的问题原型构造函数原型 prototype__proto__对象原型constructor 构造函数构造函数、实例、原型对象三者之间的关系原型链构造函数构造函数简介在 ES6之前 ,对象不是基于类创建的,而是用一种称为构建函数的特殊函数来定义对象和它们的特征。构造函数是一种特殊的函数,主要用来初始化对象,即为对象成员变量赋初始值,它总与 new 一起使用。我们可以把对象中一些公共的属性和方法抽取出来,然后封装到这个

2021-08-20 08:19:11 287 6

原创 jQuery操作属性大全

jQuery操作属性操作元素属性操作样式类操作样式获取或设置元素高度和宽度操作内容操作HTML代码操作text文本操作值查找和筛选元素过滤查找链式操作操作元素属性属性是每个页面元素的重要内容,HTML标签可以有一到若干个属性。id即是元素的常用属性之一。例如:<input type="text" name="firstname" value="Dennis" id="first" />我们可以使用javascript中的getAttribute和setAttribute来操作元素的"元

2021-08-16 13:33:15 806 4

原创 Javascript实现数据结构中链表、栈、队列、二叉树操作

链表//定义单向链表的节点类class Node{ constructor(data){ this.data = data //节点的数据域(数据成员) this.next = null //节点的指针域(指针成员) }}//定义单向链表类class SingleLinked{ constructor(){ this.size = 0 //用记录链表中的节点个数 this.head = new Node('

2021-08-13 14:35:49 236 2

原创 jQuery选择器大全总结

jQuery选择器jQuery的选择器基本选择器基本过滤选择器属性过滤选择器表单选择器子元素选择器操作元素属性操作样式操作样式类获取或设置元素高度和宽度操作HTML代码操作text代码jQuery的选择器基本选择器id选择器:#id类选择器:.class标签名选择器:* :匹配所有元素基本过滤选择器Element:first :选取第一个元素Element:last : 选取最后一个元素Element:not(selector):去除所有与给定选择器匹配的元素Element:ev

2021-08-12 23:57:57 9749

原创 jQuery 简介

jQueryjQuery的使用方式jQuery的选择器基本选择器基本过滤选择器属性过滤选择器表单选择器子元素选择器操作元素属性操作样式操作样式类获取或设置元素高度和宽度jQuery是JavaScript的一个库(对JavaScript的相关操作进行了封装:遍历HTML文档、操作DOM、事件处理、Ajax) 。理念是:写得少,做的多jQuery的使用方式在 https://jquery.com/ 官网下载jQuery的库文件,点击Download进行下载。引入jQuery库:<sc

2021-08-11 17:57:11 373 4

原创 leetcode215题--数组中的第K个最大元素(JS排序方法大全)

冒泡排序var findKthLargest = function(nums, k) { for(let i = 0;i < nums.length - 1;i++){ for(let j = 0; j < nums.length - i - 1;j++){ if(nums[j] > nums[j+1]){ var temp = nums[j]; nums[j] = nums[

2021-08-10 00:16:20 433

原创 Node.js中的MySQL模块化开发——数据库访问中的ORM(sequelize模块的使用)

ORM简介ORM:对象关系映射,主要解决面向对象编程与关系型数据库之间不匹配的问题类 ---- 表属性 ---- 列对象 ---- 行ORM的特点:(1)可以提高开发的效率(2)不用直接写sql语句配置环境在终端用npm install mysql2下载MySQL模块。在安装了MySQL的前提下输入npm install sequelize安装ORM的实现框架(模块):sequelize。创建db文件夹,在db下创建config文件夹和model文件夹。在con

2021-08-06 00:04:32 1045

原创 通俗易懂理解TCP协议三次握手和四次挥手及其常见问题

TCP协议三次握手和四次挥手形象比喻三次握手四次挥手形象比喻三次握手:将小明当作客户端,小红当作服务器端,两人写信告白:**第一次握手:**小明告诉小红:我喜欢你。**第二次握手:**小红告诉小明:我知道了,我也喜欢你。此时小红并不确定小明是否收到了告白信,直到**第三次握手:**小明回信:我也知道了,我们在一起吧。此时才真正建立连接。四次挥手:恋爱之后,小明和小红煲电话粥。依旧将小明当作客户端,小红当作服务器端。小明跟小红说话,**第一次挥手:**小明说:我说完了。**第二次挥手:**

2021-08-05 09:13:20 15978 4

原创 Node.JS ——【简介、特点、应用场合】

Node.JSNode.js简介Node.js的特点Node.js的应用场合不适合用Node.js的场合Node.js缺点以及解决方案Node.js简介Node.js简称Node,是一个可以使JavaScript运行在服务器端的开发平台。Node.js选择JavaScript作为实现语言的原因:JavaScript满足CommonJS标准,符合事件驱动,用户较多且门槛较低;Chrome的V8引擎具有出色的性能。 Node.js将V8引擎封装起来,作为服务器运行平台,以执行JavasScript编写

2021-08-04 22:02:03 864 1

原创 Javascript DOM 节点操作

Javascript DOM 节点操作节点概述节点层级父级节点(node.parentNode)子节点案例:下拉菜单兄弟节点操作节点创建节点添加节点删除节点案例:留言板发布和删除复制节点(克隆节点)案例:动态生成表格三种动态创建元素区别获取元素通常使用两种方式:利用 DOM 提供的方法获取元素document.getElementById()document.getElementsByTagName()document.querySelector 等逻辑性不强、繁琐在DOM 获取元素中有详细

2021-07-28 22:38:10 209

原创 Javascript DOM ——【操作元素、排他思想】

Javascript DOM一、操作元素常用元素的操作改变元素内容排他思想一、操作元素JavaScript 的 DOM 操作可以改变网页内容、结构和样式,我们可以利用 DOM 操作元素来改变元素里面的内容 、属性等。要想操作元素首先要获取元素,在Javascript DOM ——【Web APIs、DOM树、获取元素、document对象的属性】对如何获取元素有详细介绍。常用元素的操作innerText、innerHTML 改变元素内容src、hrefid、alt、title操作元素改

2021-07-27 23:58:46 571 2

原创 Javascript DOM ——【Web APIs、DOM树、获取元素、document对象的属性】

Javascript DOM一、Web APIs二、DOM简介DOM树三、获取元素id获取元素标签获取元素name获取元素HTML5新增的获取方式类名获取querySelector()和querySelectorAll()四、document对象的属性console.log和console.dir区别一、Web APIs我们学习的是ECMAScript标准规定的基本语法,WebAPI是W3C组织的标准,要求同学们掌握Js基础语法。Js基础学习ECMAscript 基础语法为后面作铺垫,web APIs

2021-07-25 16:53:42 419 4

原创 Javascript 函数进阶 ——【回调函数、递归函数、闭包函数、作用域和域解析】

Javascript 作用域和域解析一、作用域全局作用域一、作用域全局作用域JavaScript作用域 : 就是代码名字(变量)在某个范围内起作用和效果 目的是为了提高程序的可靠性更重要的是减少命名冲突js的作用域(es6)之前 : 全局作用域 局部作用域全局作用域: 整个script标签 或者是一个单独的js文件var num = 10;var num = 30;console.log(num);局部作用域局部作用域(函数作用域) 在函数内部就是局部作用域 这个代码

2021-07-24 21:54:42 724 4

原创 Javascript DOM 事件 —— 【事件注册、删除事件、DOM事件流、事件对象、事件委托】

Javascript 事件流

2021-07-23 00:36:39 638 6

原创 HTML5 —— canvas画布

canvas画布画布:HTML5 的 canvas 元素使用 JavaScript在网页上绘制图像。画布是一个矩形区域,您可以控制其每一像素。canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。绘制图形的过程创建画布:使用html5中画布标签 <canvas id="id" width="宽度" height="高度"> </canvas>JavaScript中获取画布 document.getElementById('id')

2021-07-22 11:16:01 975 6

原创 HTML5新增API的使用——【网络连接、全屏显示、文件读取、地理定位】

HTML5新增API的使用1、HTML5 新增API的使用:(1)检测网络连接的事件(注意浏览器的兼容性):(2)控制页面元素的全屏显示(注意浏览器的兼容性)(3)文件读取(4)地理定位:Geolocation接口1、HTML5 新增API的使用:(1)检测网络连接的事件(注意浏览器的兼容性):A、‘online’:网络已连接B、‘offline’:网络已断开(2)控制页面元素的全屏显示(注意浏览器的兼容性)A、webkitRequestFullScreen()方法:谷歌浏览器打开全屏显示B、

2021-07-21 13:36:50 281

原创 MySQL压缩包安装5.5版本之后Installer安装8.0版本遇到的问题

用压缩包安装过了5.5版本的MySQL之后又用mysql-installer-community-8.0.16.0.msi安装了8.0版本的MySQL,希望对遇到同样问题的人有所帮助。用安装程序进行安装时,大多数都是点击next和execute进行安装。有两个地方需要注意:第一行输入设定的password,第二行是确认password,设定的密码要记住。最好和5.5版本的密码能区别开。...

2021-07-20 22:42:23 296 4

原创 JavaScript 函数(含经典案例:反转数组、求所有参数最大值、判断闰年、获取指定年份的2月份的天数)

JavaScript 函数一、 函数的使用1. 声明函数:2. 调用函数二、 函数的参数1. 形参和实参的定义2. 形参和实参的使用3. 函数形参和实参个数不匹配问题4. 函数的返回值可以实现某种特定功能的代码块。一、 函数的使用函数在使用时分为两步︰声明函数和调用函数。1. 声明函数: function 函数名([参数]) { 函数体语句 }(1)function是一个关键字,全部小写;(2)函数名:是一个标识符,建议使用驼峰命名,做到见名知义;(3)函数可以有参数也可以没有

2021-06-21 15:50:01 1905

原创 JavaScript 数组常用算法总结——【查找算法、排序算法、二维数组排序和转置】

JavaScript 数组常用算法一、 查找算法1. 顺序查找2. 二分法查找(折半查找)二、 排序算法:1. 冒泡排序:2. 选择排序:三、 翻转数组四、 二维数组1. 二维数组的转置2. 二维数组的排序一、 查找算法1. 顺序查找依次查找每个元素;//遍历一遍看是否找到function generalSearch(arr,data){ for(var i = 0; i < arr.length; i++){ if(arr[i] == data){ return true;

2021-06-18 22:16:21 221 6

JavaScript 数组

JavaScript 数组1. 数组的创建方式2. 数组元素的类型3. 获取数组元素3.1 数组的索引3.2 遍历数组4. 数组中新增元素数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是动态大小的,会随着数据添加而自动增长。//普通变量一次只能存储一个值var num = 10;//数组一次可以存储多个值var arr = [1,2,3,4,5];1. 数组的创建方式JS中创建数组有两种方式:利用new创建数组利用数组字面量创建数组利用new

2021-06-18 21:38:53 129

原创 JavaScript 循环结构语句

JavaScript 循环结构语句1. for循环2. while循环3. do while循环4. continue break 关键字continue关键字break关键字语句(也称为流控制语句)通常使用一或多个关键字完成既定的任务。语句可以简单,也可以复杂。简单的如告诉函数退出,复杂的如列出一堆要重复执行的指令。顺序结构就是我们平常写的按顺序从上往下执行的程序。分支结构在以下的博文有介绍:JavaScript 分支结构语句1. for循环for重复执行某些代码,通常跟计数有关系/

2021-06-16 11:01:21 158

原创 JavaScript 分支结构语句

JavaScript 分支结构语句1. if语句2. if else语句(双分支语句)3. if else if 语句 (多分支语句)4. 三元表达式5. switch语句语句(也称为流控制语句)通常使用一或多个关键字完成既定的任务。语句可以简单,也可以复杂。简单的如告诉函数退出,复杂的如列出一堆要重复执行的指令。顺序结构就是我们平常写的按顺序从上往下执行的程序。1. if语句//条件表达式成立时执行代码,否则什么也不做if(条件表达式){ //条件成立执行的代码语句}2. if els

2021-06-16 09:48:26 782 1

原创 事件冒泡和事件捕获

事件冒泡和事件捕获1. 事件冒泡:2. 事件捕获:1. 事件冒泡:IE 事件流被称为事件冒泡,这是因为事件被定义为从最具体的元素(文档树中最深的节点)开始触 发,然后向上传播至没有那么具体的元素(文档)。比如有如下 HTML 页面:<!DOCTYPE html> <html> <head> <title>Event Bubbling Example</title> </head> <body> <

2021-06-12 13:18:23 57

原创 JavaScript 的运算符

JavaScript 的运算符一、 算术运算符1. 浮点数的精度问题二、 递增递减运算符1.前置递增运算符2.后置递增运算符三、 关系运算符四、 逻辑运算符1. 短路运算(逻辑中断)逻辑与逻辑或五、 赋值运算符六、 运算符优先级运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。包括数学操作符(如加、减)、位操作符、关系操作符和相等操作符等。ECMAScript 中的操作符是独特的,因为它们可用于各种值,包括字符串、数值、布尔值,甚至还有对象。在应用给对象时,操作符通

2021-06-10 23:59:32 118 2

原创 JavaScript的隐式转换

JavaScript的隐式转换一、 JavaScript 数据类型二、 JavaScript 隐式转换1. 隐式转换规则1. + 运算符2. == 运算符3. >运算符4.复杂数据类型一、 JavaScript 数据类型js中有7种数据类型,可以分为两类:原始类型、对象类型。简单数据类型(也称为原始类型):Undefined、Null、Boolean、Number、String 和 Symbol。ES6 中新增了一种 Symbol 。这种类型的对象永不相等,即始创建的时候传入相同的值,可以解决属

2021-06-05 08:26:27 3233 11

原创 JavaScript基础 ——【数据类型的转换】

JavaScript 数据类型的转换4.1 什么是数据类型转换使用表单、prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算,而需要转换变量的数据类型。通俗来说,就是把一种数据类型的变量转换成另外一种数据类型...

2021-05-26 15:37:52 189

原创 JavaScript基础 ——【数据类型】

JavaScript的数据类型1. 数据类型的作用2. 数据类型的分类2.1 简单数据类型(1) 数字型 NumberA. 数字型进制转换B. 数字型范围C. 数字型三个特殊值D. isNaN()(2) 字符串型 StringA. 字符串引号嵌套B. 字符串转义符C. 字符串长度D. 字符串拼接E. 字符串和变量拼接(3) 布尔型 Boolea(4) 未定义型 Undefined(5) 空型 null2.2 复杂数据类型2.3 获取变量数据类型1. 数据类型的作用在计算机中,不同的数据所需占用的存储空间

2021-05-16 17:29:46 195

原创 JavaScript ——【书写方式、输入输出、注释、变量】

JavaScript的书写方式、输入输出、变量1. JavaScript书写方式:1.1 行内式 JS1.2 内嵌 JS1.3 外部 JS 文件2. JavaScript的输入输出3. JavaScript的注释3.1 单行注释3.2 多行注释4. JavaScript变量4.1 什么是变量4.2 变量的使用4.2.1 声明变量4.2.2.赋值4.2.3 变量的初始化4.2.4 更新变量4.2.5 同时声明多个变量4.2.6 声明变量特殊情况4.2.7 变量命名规范4.2.8 变量的交换1. JavaSc

2021-05-12 19:59:19 290

原创 CSS:层叠样式表(四)【多媒体和动画】

多媒体和动画1、嵌入多媒体:(1)图像:(2)视频(3)音频:2、过渡:3、变形:4、动画:1、嵌入多媒体:图像、视频、音频(1)图像: A、把图像作为背景:background-image B、使用图像标签:<img src="图像名" alt="" width="" height="" />(2)视频 A、视频格式:.mp4 .ogg .webm B、视频标签:<video src="视频文件名" controls="contr

2021-05-06 11:00:01 154

原创 JavaScript基础 ——【了解JavaScript】

了解JavaScript1. JavaScript 的诞生2. JavaScript 是什么3. JavaScript 与HTML、CSS关系4. 浏览器执行 JS5.JavaScript特点6. JavaScript的组成6.1. ECMAScript6.2. DOM6.3. BOM7. JavaScript 的作用8.常用开发工具1. JavaScript 的诞生在1995年时,Netscape(网景)公司(现在的Mozilla)的布兰登·爱奇(Brendan Eich)在网景导航者浏览器上首次设计

2021-05-04 17:35:21 191

原创 CSS:层叠样式表(三)【DIV网页布局和定位】

DIV网页布局和定位一、DIV+CSS进行网页布局1、网页布局的目的:2、如何布局:3、页面元素的定位机制:(1)流式布局:(2)浮动(float):(3)绝对定位(position:absolute):(4)相对定位(position:relative):4、布局中的常用属性:(1)浮动属性(float):(2)清除属性(clear):(3)溢出属性(overflow):二、元素的定位:三、偏移量:四、层叠属性:一、DIV+CSS进行网页布局1、网页布局的目的:页面结构清晰、有条理、易读2、如何布

2021-04-25 10:17:46 515

空空如也

空空如也

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

TA关注的人

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