- 博客(17)
- 收藏
- 关注
原创 node js解决mysql模块下载版本过低问题
导入mysql模块提示版本过低,换成高版本的也有问题,然后才发现是文件没有删干净。 npm dose not support Node.js v10.15.3 ...... 先卸载当前的nodejs 然后找到这个文件路径(C:\Users\admin\AppData\Roaming) 将这两个文件删除后在去官网下载即可 (https://nodejs.org/zh-cn/download/releases/) ...
2022-01-11 14:27:55
857
原创 了解mysql
数据库的能干什么: 1.持久的存储数据 2.备份和恢复数据 3.快速的存取数据 4.权限控制 三大设计范式 要求数据库表的每一列都是不可分割的原子数据项 非主键列必须依赖于主键列 非主键列必须直接依赖主键列 术语 DB: database 数据库 DBA:database administrator 数据库管理员 DBMS:database management system 数据库管理系统 DBS:database system 数据库系统 常用命令 查看当前数据库字符编码 ```mysql show v
2022-01-09 16:20:53
491
原创 es6迭代器和生成器
迭代器 1.什么是迭代? 从一个数据集合中按照一定的顺序,不断取出数据的过程 2.迭代和遍历有什么区别? 迭代强调的是依次取出,不关心能够取出多少数据,也不保证能数据全部取完 遍历必须知道数据长度,循环不断取出,直到数据取完为止 3.迭代器 对迭代过程的封装,通常表现形式为对象 4.迭代模式 一种设计模式,用于统一迭代的过程,并且规范迭代器的规格 1. 迭代器有得到下一个数据的能力 2. 判断是都有后续数据的能力 js对于迭代器的规定,如果一个对象具有next方法,并且next方法返回一个对象,则认为该对象
2021-12-29 19:28:05
635
原创 ES6的Class类和Symbol符号
class类 ES6的class可以看作只是一个语法糖,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法 class 函数名{ constructor(){ // 构造器 }//必须要写,就算不写也会默认添加 } class类的使用注意点 可以写成计算属性名 const person="text" class Person{ [person+"1"](){ console.log("大哥大姐过年好") } } const a=new Person
2021-12-27 20:18:27
543
2
原创 ES6简单的基础语法
变量声明 let声明变量不会挂载在window中,不会造成全局变量污染 var num = 123; console.log(num)//123 console.log(window.num)//undefined 新增一个块级作用域{},以前只有函数作用域和全局作用域 let不允许重复声明 let num = 100; let num = 200; console.log(num)//报错Uncaught SyntaxError: Identifier 'num' has already bee
2021-12-25 13:29:45
575
原创 http三次握手和四次挥手and Ajax详情
五层网络模型 物理层:主要作用是定义物理设备如何传输数据(光缆,网线) 数据链路层:为通讯实体间建立数据链路连接 网络层:为数据在节点之间传输创建逻辑链路 传输层:数据的传输都是在这层定义的,数据过大分包,分片 应用层:为应用软件提供了很多服务,构建于协议之上。 HTTP工作的原理 首先客户端和服务端先建立连接(TCP三次握手) 发送HTTP请求 服务器接受请求并返回HTTP响应 客户端收到响应后断开连接(TCP四次挥手) 客户端浏览器解析HTML内容 HTTP三次握手 第一次握手:相当于我给你发
2021-12-22 20:41:40
851
原创 table栏切换案例
图片可以自己找。 JQ:siblings() 方法返回被选元素的所有同级元素。同级元素是共享相同父元素的元素。 JQ:index() 方法返回指定元素相对于其他指定元素的 index 位置。 如果未找到元素,index() 将返回 -1。 addClass()不会移除已存在的 class 属性,添加一个或多个 class 属性。如需添加多个类,用空格分隔开。 removeClass()写入要移除的 class 的名称。如果要移除多个,用空格来分开。如果不写参数就是移除所有的。 <!DOCTYPE ht
2021-12-19 21:54:14
516
原创 bootstrap框架基础
栅格系统 1、row必须包含在 .container (固定宽度)或 .container-fluid (自适应屏幕宽高)中,行可以创建12列。 2、container-fluid,是将固定宽度的栅格布局container 转换为 100% 宽度的布局,可以按照自己的情况来布局。 3、如果列数超过12列就会挤到下面一行去。 4、如果一列的内容过高会导致后面的内容排版有问题,可以用clearfix 清楚解决此问题。 5、col-md-offset-*是列偏移,*为需要偏移几格,就像css给元素添加margin
2021-12-19 21:02:55
534
原创 jq实现ToDoList简单的添加删除完成功能
简单的添加和删除还原ToDoList的简单功能 当输入内容的时候需要判断是否为空?然后再通过键盘enter验证进入,以免输入空也可以。 添加:首先找到需要添加到的位置,然后通过jq的添加方法(append(),appendto()…等等)将input框里面的内容加入到元素内容。 当你完成一项的时候点击复选框也需判断是否为checked;如是则加入到已完成的里面。 删除:点击自己时找到自己的父级,如果不是就在往上找直到找到位置,在remove; 话不多说直接上代码: <!DOCTYPE html>
2021-12-11 17:44:50
259
原创 jq简单实现五星好评
点击后可以再次确认选择 用到的api find() 查询父节点中符合参数条件的子节点 html() 赋值,将获取的值显示 parent() 查找当前节点的父元素 parents() 查找祖先元素 next() 查找下一个兄弟节点 nextSiblingElement nextAll() 查找后面所有的兄弟元素 prev() 查找上一个兄弟节点 这个例子可以锻炼jq查找的能力 <!DOCTYPE html> <html lang="en"> <head>
2021-12-11 17:34:31
907
原创 for each,bind,call原码
for each()方法手写 for each作用:foreach语句可以迅速遍历集合或数组,省去 for语句中设置循环起点和循环条件的过程 语法: arr.forEach(callback(currentValue [, index [, array]])[, thisArg]) 参数: callback 为数组中每个元素执行的函数,该函数接收一至三个参数: currentValue 数组中正在处理的当前元素。 index 可选 数组中正在处理的当前元素的索引。 array 可选 forEach()
2021-12-04 16:06:15
572
原创 用canvas实现简易版飞机大战
运行图片 飞机背景素材:https://www.aigei.com/view/64573.html 代码如下 //获取画笔和画布 var huabu = document.getElementsByTagName("canvas")[0] var ctx = huabu.getContext("2d") //定义初始化状态,首页的运动背景还有logo var strat = 0;//开始阶段 var strating = 1;//正式开始阶段 var run
2021-12-04 15:23:14
1089
原创 H5中的Canvas画布
canvas用法: H5中新增的元素,只是创造了一个固定大小的画布,需使用js脚本来进行绘制 画布默认宽高:默认宽高为300px*150px,可通过 <canvas class="cav" width="400px" height="450px"></canvas> 调整大小,如在样式表中设置画布的宽高,会失帧。 canvas 元素本身是没有绘图能力的,绘制图需要在 JavaScript 内部完成: var canvas = document.getElementsByTa
2021-11-28 19:39:40
828
1
原创 封装柯里化函数
封装一个柯里化函数 简化代码的结构。一个函数,只有个参数,强调了功能的单一性,提升代码的复用性 function add(a, b, c) { return a + b + c; } // 封装一个柯里化函数 function curry(fn) { return function curryFn() { // 1. 一次性将所有参数传完
2021-11-23 20:40:23
666
原创 js节流与防抖
js节流和防抖 函数节流:当一个函数在大于等于某个周期时间才执行,如果在周期内是不执行的。 函数防抖:短时间内多次触发一个事件,只执行最后一次,或者执行最开始的一次,当在等待时间内再次触发事件时 重新开始计时。 节流代码 function thorttle(time,text) { var timer = 0//初始时间 0s return function(){ //返回一个函数 var nowTime = new Date().getTime();/
2021-11-23 19:21:05
437
原创 js实现深度克隆
深度克隆 实现数据拷贝后不影响原数据 function clone(data,flag){ //判断data是否是数组 if(Object.prototype.toString.call(data)==='[object Array]'){ var arr=[]; //如果是true则进行深克隆 if(flag){ for(v
2021-11-21 19:33:43
439
原创 今天学习了js渲染流程和异步加载的方法
学习了js的渲染流程大致分为: 解析HTML形成DOMTree 解析css形成CSS Rule Tree 将DOMTree 和 cssTree 合并形成 RenderTree 根据渲染树计算出每一个节点在页面中的位置 根据布局进行绘制 repaint 重绘 当页面中某个元素的样式(颜色)发生改变会引起重绘 reflow 回流 当页面中的布局(位置、宽高)引起回流(display:none引起回流 脱离文档流 整个页面元素的位置会重新布局) (visibility:hidden 引起重绘 占用文档流 )
2021-11-21 19:30:29
1057
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅