自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 原型和原型链

在JavaScript中,原型是一个对象,通过原型可以实现对象的属性继承,JavaScript的对象中都包含了一个"[[Prototype]]"内部属性,这个属性所对应的就是该对象的原型。原型对象中有一个属性constructor,它指向函数对象。

2022-08-24 17:58:48 333 1

原创 事件捕获与冒泡

addEventListener()有三个参数,分别是事件名、函数、布尔值(默认冒泡:false)DOM事件流有三个阶段:事件捕获阶段、处于目标阶段、事件冒泡阶段。可以通过stopProgation()阻止事件冒泡。事件捕获比事件冒泡优先。

2022-08-19 10:20:54 231

原创 深拷贝与浅拷贝

创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值,如果属性是引用类型,拷贝的就是内存地址,所以如果其中一个对象该变量这个地址,就会影响到另一个对象。将一个对象从内存中完整的拷贝一份出来,从堆内存中开辟一个新的区域存放新对象,且修改新对象不会影响原对象。...

2022-08-17 10:29:18 184

原创 防抖&节流

防抖&节流。

2022-08-16 14:18:20 217

原创 容器垂直居中的方式

容器垂直居中的方式

2022-07-21 16:22:26 508

原创 BFC(块级格式化上下文)

可以把BFC理解成一块独立的渲染区域,BFC看成是元素的一种属性,当元素拥有了BFC属性后,这个元素就可以看做一个被隔离的独立容器,容器内的元素不会影响容器外的元素。

2022-07-21 16:21:12 109

原创 标准盒模型和IE盒模型

可以通过box-sizing设置盒模型(默认值content-box标准盒模型)设置的盒子宽度=border+padding+内容宽度。设置的盒子宽度=内容宽度。

2022-07-21 16:20:24 218

原创 js排序和搜索

js排序和搜索

2022-06-23 10:56:17 299

原创 js包装类

在js中提供了三个包装类,通过这三个包装类可以将基本数据类型的数据转换为对象。String() 可以将基本数据类型字符串转换为String对象Number() 可以将基本数据类型的数字转换为Number对象Boolean() 可以将基本数据类型的布尔值转换为Boolean对象注意:在实际应用中不会使用基本数据类型的对象,如果使用基本数据类型的对象,在做一些比较时可能会带来一些不可预期的结果。方法和属性只能添加给对象,不能添加给基本数据类型,当对一些基本数据类型的值去

2022-06-22 09:39:44 132

原创 Promise

Promise是什么?理解抽象表达1)Promise是一门新的技术(ES6规范)2)Promise是js中进行异步编程的新解决方案备注:旧方案是单纯使用回调函数具体表达:1)从语法上来说:Promise是一个构造函数2)从功能上来说:promise对象用来封装一个异步操作并可以获取其成功/失败的结果值为什么要用Promise指定回调函数的方式更加灵活1)旧的:必须在启动异步任务前指定2)promise:启动异步任务=》返回promise对象=》给promise

2022-04-24 10:59:40 82

原创 vue脚手架小记

关于不同版本的vue: 1.vue.js与vue.runtime.xxx.js的区别: 1)vue.js是完整版的vue,包含:核心功能+模板解析器。 2)vue.runtime.xxx.js是运行版的vue,只包含:核心功能,没有模板解析器。 2.因为vue.runtime.xxx.js没有模板解析器,所以不能使用template配置项,需要使用render函数接收到的createElement函数去指定 r...

2022-03-18 21:11:23 184

原创 非单文件组件

非单文件组件基本使用:vue中使用组件的三大步骤: 一、定义组件(创建组件) 二、注册组件 三、使用组件(写组件标签) 一、如何定义一个组件? 使用Vue.extend(options)创建,其中options和new Vue(options)时传入的那个options几乎一样,但区别如下: 1...

2022-03-18 21:01:45 120

原创 vue核心

目录初识vuevue模板语法数据绑定el与data的两种写法MVVM模型数据代理事件处理计算属性监视属性绑定样式条件渲染列表渲染收集表单数据过滤器内置指令自定义指令生命周期初识vue初识vue: 1.想让vue工作,就必须创建一个vue实例,且要传入一个配置对象 2.root容器里的代码依然符合HTML规范,只不过混入了一些特殊的vue语法 3.root容...

2022-03-10 11:30:44 441

原创 vue开发者文件

链接:https://pan.baidu.com/s/1nstxsDslVzP7s-NOwje84g提取码:ab12Vue.config.productionTip=false //组织vue在启动时生成生产提示设置好之后,就不生成提示了

2022-03-02 17:02:37 459

原创 flex布局

flex是flexible Box的缩写,意为“弹性布局”,用来为盒状模型提供最大的灵活性,任何一个容器都可以指定为flex布局。当我们为父盒子设为flex布局以后,子元素的float、clear和vertical-align属性将失效。采用flex布局的元素,称为flex容器(flex container),简称“容器”。它的所有子元素自动成为容器成员,称为flex项目(flex item),简称“项目”。flex布局原理:通过给父盒子添加flex属性,来控制子盒子的位置和排列方式。常见父

2022-03-01 23:07:43 9582

原创 GitHub基本使用

git remote -v 查看当前所有远程地址别名git remote add 别名 远程地址 起别名git pull 远程库地址别名 远程分支名 将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并git clone 远程地址 将远程仓库的内容克隆到本地...

2022-03-01 11:12:47 377

原创 Git常用命令及分支操作

git config --global user.name 设置用户签名git config --global user.email 设置用户签名签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看到,以此确认本次提交是谁做的。Git首次安装必须设置一下用户签名,否则无法提交代码。git init 初始化本地库git stat...

2022-03-01 09:50:18 172

原创 MySQL使用或安装时的报错

不论是安装还是在使用的时候报1042,是权限的问题将登录身份改成上面这样就行。用MySQL安装包安装后的MySQL目录在C:\Program Files\MySQL\MySQL Router 8.0安装MySQL的时候在connect to server的界面上输入密码没有错,但是connection failed。是因为刚才设置的本地系统账户登录的,不用输入密码,直接点取消就行。安装完成后,去改密码就行。MySQL安装时starting server失败。安装目录不能有中文、空格,

2022-02-26 21:57:25 1427

原创 nodejs学习-前后端的身份认证

web开发模式目前主流的web开发模式有两种,分别是:基于服务端渲染的传统web开发模式、基于前后端分离的新型web开发模式服务端渲染的web开发模式服务端渲染的概念:服务器发送给客户端的HTML页面,是在服务器通过字符串的拼接,动态生成的。因此,客户端不需要使用ajax这样的技术额外请求页面的数据。app.get('/index.html',(req,res)=>{ //要渲染的数据 const user={name:'zs',age:20} //服务端通过

2022-02-24 16:10:24 743

原创 nodejs学习-在项目中操作MySQL

安装MySQL模块MySQL模块是托管于npm上的第三方模块。它提供了在nodejs项目中连接和操作MySQL数据库的能力。想要在项目中使用它,需要先运行如下命令,将MySQL安装为项目的依赖包:npm install mysql配置MySQL模块在使用MySQL模块操作MySQL数据库之前,必须先对MySQL模块进行必要的配置,主要的配置步骤如下://导入MySQL模块const mysql=require('mysql')//建立与MySQL数据库的连接const db=m

2022-02-24 10:17:20 287

原创 nodejs学习-express

初识express什么是express?官方给出的概念:express是基于Node.js平台,快速、开放、极简的web开发框架。通俗的理解:express的作用和Node.js内置的http模块类似,是专门用来创建web服务器的。express的本质:就是一个npm上的第三方包,提供了快速创建web服务器的便捷的方法。安装在项目所处的目录中,运行如下的终端命令,即可将express安装到项目中使用:npm i express@4.17.1使用express创建最基本的we

2022-02-22 22:26:16 262

原创 nodejs学习-模块化

模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。对于整个系统来说,模块是可组合、分解和更换 的单元。把代码进行模块化拆分的好处:提高了代码的复用性提高了代码的可维护性可以实现按需加载nodejs中根据模块的来源不同,将模块分为了3大类,分别是:内置模块自定义模块第三方模块什么是模块作用域?和函数作用域类似,在自定义模块中定义的变量、方法等成员,只能在当前模块内被访问,这种模块级别的访问限制,叫做模块作用域。模块...

2022-02-22 15:05:52 920

原创 nodejs学习-http模块

http平模块是nodejs官方提供的、用来创建web服务器的模块。通过http模块提供的http.createServer()方法,就能方便的把一台普通的电脑,编程一台web服务器,从而对外提供web资源服务。如果要希望使用http模块创建web服务器,则需要先导入它:const http=require('http')服务器和普通电脑的区别在于,服务器上安装了web服务器软件,例如:IIS、Apache等。通过安装这些服务器软件,就能把一台普通的电脑编程一台web服务器。在nodejs

2022-02-18 12:40:22 815

原创 nodejs学习-path模块

path模块是nodejs官方提供的、用来处理路径的模块。它提供了一系列的方法和属性,用来满足用户对路径的处理需求。例如:path.join()方法,用来将多个路径片段拼接成一个完整的路径字符串path.basename()方法,用来从路径字符串中,将文件名解析出来如果要在JavaScript代码中使用path模块来操作文件,则需要使用如下的方式先导入它:const path=require('path')path.join()的语法格式path.join([...paths]

2022-02-17 20:17:25 2094

原创 nodejs学习-fs模块

B站黑马nodejsnode.js是一个基于Chrome V8引擎的JavaScript运行环境。注意:浏览器是JavaScript的前端运行环境Node.js是JavaScript的后端运行环境Node.js中无法调用DOM和BOM等浏览器内置APInodejs官网查看已安装的node.js版本号node -v在Windows的powershell和cmd中的快捷键使用↑键,可以快速定位到上一次执行的命令使用tab键,能够快速补全路径......

2022-02-17 16:00:26 7989

原创 数据库学习-MySQL的JDBC操作

JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的java API。JDBC是Java访问数据库的标准规范,可以为不同的关系型数据库提供统一访问,它由一组用java语言编写的接口和类组成。JDBC需要连接驱动,驱动是两个设备要进行通信,满足一定通信数据格式,数据格式由设备提供商规定,设备提供商作为设备提供驱动软件,通过软件可以与该设备进行通信。JDBC核心类和接口DriverManager:用于注册驱动Connection:表示与数据

2022-02-16 18:10:53 483

原创 数据库学习-MySQL的优化

在应用的开发过程中,由于初期数据量小,开发人员写SQL语句时更重视功能上的实现,但是当应用系统正式上线后,随着生产数据量的急剧增长,很多SQL语句开始逐渐显露出性能问题,对生产的影响也越来越大,此时这些有问题的SQL语句就成为整个系统性能的瓶颈,因此我们必须要对它们进行优化。MySQL的优化方式有很多,大致我们可以从以下几点来优化MySQL:从设计上优化从查询上优化从索引上优化从存储上优化查看SQL执行频率MySQL客户端连接成功后,通过show [session|global] st

2022-02-14 21:16:24 540

原创 数据库学习-MySQL的日志

在任何一种数据库中,都会有各种各样的日志,记录着数据库工作的方方面面,以帮助数据库管理员追踪数据库曾经发生过的各种事件。MySQL也不例外。日志分类:错误日志二进制日志查询日志慢查询日志错误日志错误日志是MySQL中最重要的日志之一,它记录了当MySQL启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,可以首先查看此日志。该日志是默认开启的,默认存放目录为MySQL的数据目录,默认的日志文件名为hostname.err(hos

2022-02-14 18:11:16 243

原创 数据库学习-MySQL的锁机制

锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢)。在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。如果保证数据并发访问的一致性、有效性,是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更复杂。从对数据操作的粒度分:表锁:操作时,会锁定整个表行锁:操作时,会锁定当前操作行从对数据操作的类型分:读锁(共享锁):针对同一份数据,多个读操作可以同时进行而

2022-02-14 16:44:04 565

原创 数据库学习-MySQL的事务

什么是事务?在MySQL中的事务(Transaction)是由存储引擎实现的,在MySQL中,只有innodb存储引擎才支持事务事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行事务用来管理DDL、DML、DCL操作,比如insert、update、delete语句,默认是自动提交的。MySQL的事务操作主要有以下三种:开启事务:start Transaction 任何一条DML语句(insert、update、delete)执行,标志事务的开启 ...

2022-02-13 22:38:27 303

原创 数据库学习-MySQL的存储引擎

数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能。现在许多不同的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎。用户可以根据不同的需求为数据表选择不同的存储引擎。可以使用show engines命令查看MySQL的所有执行引擎,可以知道默认的执行引擎是innoDB,支持事物,行级锁定和外键。MyISAM:MySQL5.5之前的默认数据库引擎,最为常用。拥有较高的

2022-02-13 11:22:08 90

原创 数据库学习-MySQL的索引

索引是通过某种算法,构建出一个数据模型,用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表,知道找出相关的行,表越大,查询数据所花费的时间就越多,如果表汇总查询的列有一个索引,MySQL能够快速到达一个位置去搜索数据文件,而不必查看所有数据,那么将会节省很大一部分时间。索引类似一本书的目录,比如要查找'student'这个单词,可以先找到s开头的页然后向后查找,这个就类似索引。索引的分类:索引是存储引擎用来快速查找记录的一种数...

2022-02-11 18:51:29 380

原创 MySQL学习-触发器

触发器就是一种特殊的存储过程。触发器和存储过程一样是一个能够完成特定功能、存储在数据库服务器上的SQL片段,但是触发器无需调用,当对数据库表中的数据执行DML操作时自动触发这个SQL片段的执行,无需手动调用。在MySQL中,只有执行insert、delete、update操作时才能触发触发器的执行。触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志记录,数据校验等操作。使用别名OLD和NEW来引用触发器中发生变化的记录内容,这与其他的数据库是相似的。现在触发器还只支持行级触发,不支持语句级触

2022-02-11 15:46:03 380

原创 数据库学习-MySQL的存储过程

什么是存储过程?MySQL5.0版本开始支持存储过程。简单地说,存储过程就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于java语言中的方法存储过程就是数据库SQL语言层面的代码封装与复用有哪些特性?有输入输出参数,可以声明变量,有if/else,case,while等控制语句,通过编写存储过程,可以实现复杂的逻辑功能函数的普遍特性:模块化、封装、代码复用速度快,只有首次执行需要经过编译和优化步骤,后续被调用可以直接执行,省去以上步骤...

2022-02-07 21:46:27 886

原创 数据库学习-MySQL的视图

介绍视图(view)是一个虚拟表,非真实存在,其本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用视图名称即可获取结果集,并可以将其当作表来使用数据库中只存放了视图的定义,而并没有存放视图中的数据。这些数据存放在原来的表中。使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。因此,视图中的数据是依赖于原来表中的数据的。一旦表中的数据发生改变,显示在视图中的数据也会发生改变。作用简化代码,可以把重复使用的查询封装成视图重复使用,同时可以使复杂的查询易于理解和使用。安全原

2022-02-07 17:04:29 743

原创 数据库学习-MySQL函数

在MySQL中,为了提高代码重用性和隐藏实现细节,MySQL提供了很多函数。函数可以理解为别人封装好的模板代码。在MySQL中,函数非常多,主要可以分为以下几类:聚合函数数学函数字符串函数日期函数控制流函数窗口函数聚合函数在MySQL中,聚合函数主要有:count,sum,min,max,avg,这些聚合函数之前都学过。这里学习另外一个函数:group_concat(),...

2022-01-29 22:49:43 1013

原创 数据库学习-多表操作

多表关系:MySQL多表之间的关系可以概括为:一对一、一对多/多对一关系、多对多

2022-01-27 21:06:57 1918

原创 数据库学习-数据库基本操作DQL-基本查询

数据库管理系统一个重要功能就是数据查询,数据查询不应只是简单返回数据库中存储的数据,还应该根据需要对数据进行筛选以及确定数据以什么样的格式显示。MySQL提供了功能强大、灵活的语句来实现这些操作。MySQL数据库使用select语句来查询数据。语法格式select [all|distinct] 目标列的表达式1 别名, 目标列的表达式2 别名...from 表名或视图名 别名,表名或视图名 别名...[where 条件表达式][group by 列名][ha...

2022-01-25 21:07:19 1087

原创 数据库学习-MySQL约束

约束(constraint),实际上就是表中数据的限制条件。作用:表在设计的时候加入约束的目的就是为了保证表中的记录完整性和有效性,比如用户表有些列的值(手机号)不能为空,有些列的值(身份证号)不能重复。分类:主键约束(primary key)PK自增长约束(auto_increment)非空约束(not null)唯一性约束(unique)默认约束(default)零填充约束(zerofill)外键约束(foreign key)FK主键约束概念:MySQL主

2022-01-24 22:05:10 622

原创 数据库学习-数据库基本操作DML

DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新。关键字:插入insert 、删除delete、更新update数据插入语法格式向表中插入某些:insert into 表(列名1,列名2,列名3...) values(值1,值2,值3...);insert into student(sid,name,gender,age,birth,address,score) values(1001,'张三','男','18'

2022-01-23 20:59:13 541

空空如也

空空如也

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

TA关注的人

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