自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (2)
  • 收藏
  • 关注

原创 访问器描述符 getter和setter

有两种类型的数据描述符第一种是数据属性描述符(DataDescriptor),即上篇博客提到的 (这里应该有个超链接) 四个属性第二种是访问器属性描述符(AccessorDescriptor),是用于获取和设置值的函数数据属性描述符:configurableenumerablewritablevalue访问器属性描述符:configurableenumerablesetget数据属性描述符对象上不能有get,set属性,访问器属性描述符对象上不能有value,writab

2021-06-28 16:34:53 364

原创 属性描述符

文章目录属性描述符writableenumerableconfigurable一些方法Object.definePropertiesObject.getOwnPropertyDescriptorsjs对象的属性可以用一些关键字修饰,表示当前属性是否可写、是否可枚举、是否有默认值等,这些关键字就是属性描述符本质上属性描述符是一个对象,用来定义对象属性的行为方式属性描述符属性描述符共6个value:属性的值,默认值为 undefined。writable:属性值是否可写,默认值为 true。

2021-06-24 22:37:38 421 1

原创 宏任务 微任务 循环队列

Event loopjs是单线程事件循环EventLoop是指js执行环境的流程顺序,通过任务队列的机制进行协调,一个loop中可以有多个队列共两种队列:宏任务(macrotask) 微任务(microtask)一个 macrotask 执行结束后所有的 microtask,这是一个loop简单总结:执行macrotask队列中最早的task,然后移出执行microtask队列中所有任务,全部移出(下一个循环) 重复1 2宏任务maccrotask包括:script标签中的代码s

2021-06-21 23:25:34 366

原创 ES6模块导入导出详解

文章目录在声明前导出 / 导出与声明分开导入import *import "as"exportexport "as"export defaultdefault名称重新导出重新导出默认导出总结注意ES6模块的导出export 导入import在声明前导出 / 导出与声明分开export function hi(){ console.log('hello');}/* 声明后 */function hi(){ console.log('hello');}export {hi}

2021-06-11 15:33:24 1172 1

原创 JavaScript 模块化

文章目录ComonJsES6模块功能始终使用"use strict"模块级作用域模块代码仅在第一次导入时被解析在一个模块中,"this"是undefined模块脚本是延迟的JavaScript起初没有官方的模块语法在社区中诞生了野生规范:AMD —— 最古老的模块系统之一,最初由 require.js 库实现。CommonJS —— 为 Node.js 服务器创建的模块系统。UMD —— 另外一个模块系统,建议作为通用的模块系统,它与 AMD 和 CommonJS 都兼容。ComonJs

2021-06-11 00:22:24 252 2

原创 Nodejs (四) MongoDB数据库

文章目录简介数据库概念起步nodejs第三方包启动MongoDB:数据库连接创建数据库增删改查增创建集合创建文档(向集合插入文档)1.创建集合实例2.集合构造函数 create方法mongoDB导入数据查删改mongoose验证处理错误信息集合关联简介数据库概念|术语 | 解释说明||database|数据库||coleection|集合,一组数据集合 可以理解为数组||document|文档,一条具体数据 可以理解为对象||field|字段,文档中属性 可以理解为对象属性|类似于图的邻接

2021-03-03 10:56:06 548 1

原创 Nodejs (三) 异步编程

文章目录2.代码执行顺序Node.js的异步apiPromise异步函数应用之前有篇Promise讲的更清楚 dd异步不会阻塞后续代码执行# 区别## 1.返回值同步:可以从返回值拿到返回的结果异步:无法用返回值接受```javascript 同步API```异步函数返回值用回调函数的方式拿到回调函数:自己定义函数让别人调用 方法内部达到条件后调用将方法执行结果通过回调函数参数传出(因为无法return传递)2.代码执行顺序同步API从何是哪个到下依次执行,前面的代

2021-03-03 10:53:25 290

原创 Nodejs (二) 服务器

文章目录服务器基础概念URLURL组成客户端服务器端说明创建web服务器HTTP协议报文请求报文响应报文HTTP请求与响应处理请求参数GEt请求POST请求路由资源访问静态资源动态资源服务器基础概念URLURL,统一资源定位符URL组成传输协议://服务器IP或域名:端口/资源所在位置标识http:超文本传输协议,提供了一种发布和接受HTML页面的方法域名:由于IP地址难于记忆,所以产生了域名的概念,所谓域名就是平时上网所使用的网址。http://www.itheima.com =&gt

2021-03-03 10:49:25 158

原创 Nodejs (一)

文章目录环境变量node.js 模块化开发系统模块系统模块fs 文件操作系统模块path 路径操作几个常见路径文件拼接第三方模块概念获取第三方模块第三方模块 nodemon第三方模块 nrm第三方模块 Gulp能做什么gulp使用gulp中提供的方法gulp插件gulp-file-include...package.json 文件scripts属性项目依赖 / 开发依赖package-lock.jsonNode.js中模块加载机制模块查找规则 -- 当模块拥有路径但没有后缀时模块查找规则 -- 当模块没

2021-03-03 10:47:56 178

原创 nrm报错 [ERR_INVALID_ARG_TYPE] 解决方法

nrm 1.2.1报错:[TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined at validateString (internal/validators.js:122:11) at Object.join (path.js:375:7) at Object.<anonymous> (C:\Users\liyin\AppData\Roamin

2021-02-06 00:38:02 16785 56

原创 js实现sleep

实现sleepJavaScript由于用途为浏览器脚本语言,故设计为单线程,js为了实现sleep不能像java那样直接暂停某线程es6新增的Promise异步解决了sleep问题,以下是用Promise封装的sleep函数 function sleep(delay) { return new Promise((resolve) =>setTimeout(resolve, delay)); } sleep.then(()={ // slee

2020-12-20 21:35:20 294 2

原创 es8 异步函数async/await

文章目录异步函数1. async2. await总结异步函数async/await 是ES8新增的两个函数关键字,让以同步方式写的代码能够异步执行1. asyncasync关键字用于声明异步函数,这个关键字可以用在函数声明、函数表达式、箭头函数和方法前 async function f() { return 1; }如果异步函数用return返回了值(如果没有return则会返回undefined),这个值会被自动包装在一个resolved的Promise中,r

2020-12-14 09:06:44 654

原创 Promise链及静态方法

文章目录一、Promise链二、Promise合成1. Promise.all()2. Promise.allSettled3. Promise.race()三、Promise.resolve/reject1. Promise.resolve()2. Promise.reject()四、Promise静态方法总结多个期约组合在一起可以构成强大的代码逻辑。这种组合可以通过两种方式实现:期约连锁与期约合成一、Promise链每个Promise方法都会返回一个新的Promise对象,新Promise又有

2020-12-07 19:41:36 997

原创 Promise基础

老方法实现异步用回调函数es6之后有了PromisePromise语法:let promise = new Promise(function(resolve, reject) { // executor});创建Promise时需要传入函数executor(执行器)作为参数该函数的两个参数通常都命名为resolve和rejectresolve(value) ———— 任务成功并带有结果valuereject(error) ———— 失败并带有error对象总结:execu.

2020-12-03 23:01:05 323

原创 js可视化 迷宫问题

文章目录图片演示部分解释代码图片演示部分解释算法部分用递归代码<html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> bo

2020-10-26 21:47:09 446

原创 js六种继承

文章目录构造函数式继承原型链式继承组合继承(原型链+构造函数)原型式继承Object.creat()寄生式继承寄生组合式继承(常用)共有六种继承方式:构造函数式继承、原型链式继承、组合继承、原型式继承、寄生式继承、寄生组合式继承构造函数式继承利用函数实现继承 //父类构造函数 function Father(){ this.name = "Father"; this.say = function(){ console.log(t

2020-09-23 17:26:04 344 2

原创 原生js简单贪吃蛇

文章目录思路全部代码解决 连续快速键盘bug思路400px * 400px的地图,每20px*20px分成单元格绘制蛇身每次移动即更换尾 部 头部的颜色全部代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"

2020-09-06 20:32:15 336 1

原创 原生js实现 Todolist(待办事项)本地保存

文章目录

2020-08-01 14:16:37 1629

原创 窗口大小、滚动

文章目录`` 作用查看滚动条的滚动距离查看视口尺寸innerWidth 和 clientWidth 区别查看元素的几何尺寸滚动条滚动禁止滚动实现demo:<!DOCTYPE HTML> 作用有这行是标准模式去掉是混杂模式 向前兼容老的渲染方式查看滚动条的滚动距离window.pageXOffset / pageYOffset IE8及以下不兼容document.body/documentElement.scrollLeft/scrollTop兼容性混乱,两个值对立一个有则另一

2020-07-20 22:06:30 372

原创 JS rest参数 return大括号位置

rest参数ES6新增 为弥补这种情况: function sum(a,b){ console.log(a+b); if(arguments.length>2) for(var i=2;i<arguments.length;i++>) console.log(arguments[i]); }我想输出额外传入的参数,使用arguments就必须排除前面规定好的项ES6 的 rest参数可以

2020-07-16 20:53:53 415

原创 JavaScript 对象 原型 原型链

对象的创建方法var obj = {} \ plainObject 对象字面量/对象直接量构造函数系统自带的构造函数 new Object()自定义函数 new FunctionName()自定义函数用大驼峰式命名 (所有首字母大写)构造函数内部原理在函数体最前面隐式加上this={}执行this.xxx = xxx;隐式的返回this也可以传参 function Car(number){ // this = {};

2020-07-16 20:47:20 232 1

原创 JavaScript 立即执行函数

文章目录两种立即执行函数函数表达式:函数声明:解释开头函数声明特殊点划重点针对只操作一次的函数,正常函数声明后会一直占用内存等待执行eg.计算100! 但只需要一次 就可以使用立即执行函数 var num = (function (a,b){ return a+b; }(1,2) );可以有返回值执行一次就会被销毁两种立即执行函数(function () {} ()); W3c建议第一种(function () {}) ();最后解释只有 表达式

2020-07-16 20:44:23 165

原创 JavaScript 预编译

文章目录

2020-06-07 00:24:31 177

原创 Arduino 上拉下拉电阻 内置上拉电阻

文章目录上拉电阻按钮上拉电阻

2020-05-22 11:49:29 12290 2

原创 Arduino流水灯 附电路图

文章目录原理图代码实物图原理图只使用4个LED灯,多个同理数字针脚为正极,长导线接GND为负极注意:LED灯必须接220Ω以上电阻(针脚电压为5V,超过LED最大电流)代码int i;int time=500;void setup() { for(i=8;i<=11;i++) pinMode(i,OUTPUT);}void loop() { for(i=8;i<=11;i++) { digitalWrite(i,HIGH); d

2020-05-17 00:57:21 4844

原创 在Markdown中插入图片(借助github)

md中插入图片语法![图片名](url)但图片必须与md文件同在本地且路径不发生变化,容易丢失可以借助github将图片上传到云端步骤如下新建一个私人仓库第一次进入进仓库选择 uploading an existing file 上传第一个文件之后进入选择 Upload files选择好图片后点击下方 Commit changes然后点开仓库中的图片,再点击Download此时浏览器上方的链接即为图片的在线url,可以直接复制使用ps.有时因为网络问题读取不能,建议还是

2020-05-16 23:19:00 636

原创 JavaScript函数

文章目录一、函数的定义1. 函数声明2. 函数表达式3. 区别4. 函数名二、函数参数 arguments1. arguments.length2.arguments.callee函数是可以重复调用执行的代码块一、函数的定义使用 function1. 函数声明 function f(n1,n2){ return n1+n2; }f 为函数名 、n1,n2 为函数参数2. 函数表达式 var f = function(n1,n2){ return n1+n2; };func

2020-05-10 22:41:00 166

原创 【洛谷】P2670 扫雷游戏

题目链接:P2670 扫雷游戏输入输出样例:输入:3 3*??????*?输出:*102211*1寻找雷区,在雷区周边八格统一加1记录#include<stdio.h>#define N 110int n, m;int d[N][N];char map[N][N];int dx[] = {-1, -1, 0, 1, 1, 1, 0, -1}...

2020-05-04 11:36:12 845

原创 JavaScript 鼠标滚轮事件(实现导航栏上滚显示)

文章目录detail与wheelDelta上下滚动检测隐藏导航栏例子当在垂直方向滚动页面时就会触发 mousewheel 事件detail与wheelDelta判断鼠标滚轮滚动方向在各浏览器的属性不同现在五大浏览器(IE、Opera、Safari、Firefox、Chrome)中Firefox 使用detail,其余四类使用wheelDelta;两者只在取值上不一致,代表含义一致det...

2020-04-26 15:48:26 2327 6

原创 JavaScript运算符

文章目录优先级一、一元操作符1. 自增自减二、位操作符1. 按位非2. 按位与3.按位或4.按位异或优先级优先级运算符说明1[]、()数组、括号分组2++ -- ~ 等、new、typeof一元运算符、对象创建、返回数据类型3*、/、%相乘、相除、求余4+、-相加、相减5<<、>>、>>&gt...

2020-04-25 16:25:35 282

原创 JavaScript数据类型

文章目录一、类型检测操作符 typeof一、Number1. 进制2. NaN3. 数据范围二、BigInt1. 用法三、Boolean四、String1. 转义字符2. 转换为字符串五、Undefined六、NullJavaScript的变量是松散类型,即用var/let定义的变量可以保存任何类型的数据七种基本类型:(按值访问,可以操作保存在变量中实际的值)Number(数字)Big...

2020-04-12 14:46:24 166

原创 JavaScript中var和let的区别 及 let临时死区

文章目录一、基本用法二、区别1. 作用域2. 重复声明3. 变量提升临时死区一、基本用法var和let都用于声明变量,let是ES6中新增的定义方式var a=1;let b=2;两个语法相同,区别如下二、区别1. 作用域块作用域:块作用域由 { } 包括,if语句和for语句里面的{ }也属于块作用域var定义的变量有 函数作用域或全局作用域(定义在函数中/全局),没有块的...

2020-04-12 01:04:43 366

原创 css实现网页黑白

特殊时候需要网页做出黑白效果,可以使用css3的滤镜html { -webkit-filter: grayscale(100%); filter: progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);}第一行对非IE浏览器生效,第二行是对IE浏览器生效(emmm…似乎浏览器就分为两种),本质上都是使用filte...

2020-04-06 11:26:27 548

原创 css3新特性——过渡、动画

文章目录一、过渡 `transition`二、动画一、过渡 transition目的是让一些交互效果(主要是hover动画),变得生动一些,不会显得那么生硬。CSS3 过渡是元素从一种样式逐渐改变为另一种的效果,必须规定两项内容:指定要添加效果的CSS属性持续时间。transition是以下四个属性的简写transition-property:指定要添加过渡效果的CSS属性,...

2020-04-05 11:36:49 556

原创 Bootstrap4轮播图

文章目录简介自动轮播简介类描述.carousel创建一个轮播.carousel-indicators为轮播添加一个指示符,就是轮播图底下的一个个小点,轮播的过程可以显示目前是第几张图。.carousel-inner添加要切换的图片.carousel-item指定每个图片的内容.carousel-control-prev添加左侧的按钮,点击...

2020-03-29 14:53:57 1148

原创 c语言电影管理系统

#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct a{ char name[100]; //电影名 int grade; //评分 int number; //一天场次 int time; //电影时长 int hall; //展厅号 doubl...

2020-03-22 12:20:01 6865 15

原创 解决HTML页面右侧空白问题

html右侧空白解决办法

2020-03-19 21:22:14 11735 6

原创 Bootstrap4导航栏

文章目录一、导航栏二、响应式导航栏三、不同颜色导航四、折叠导航栏一、导航栏导航栏一般在页面顶部导航栏上的选项可以使用 <ul>元素并添加 class="navbar-nav"类。 然后在 <li>元素上添加 .nav-item 类, <a> 元素上使用 .nav-link 类:二、响应式导航栏默认样式为垂直:<nav class="navba...

2020-03-15 21:36:35 2194

原创 Bootstrap4折叠

文章目录

2020-03-14 22:58:01 455

原创 Booststrap4布局(栅格系统)

文章目录

2020-03-08 14:48:32 1212

Arduino 1.8.12

Arduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。由一个欧洲开发团队于2005年冬季开发。

2020-05-28

Fritzing最新版

Fritzing是个电子设计自动化软件。它支持设计师,艺术家,研究人员和爱好者参加从物理原型到进一步实际的产品。还支持用户记录其Arduino和其他电子为基础的原型,与他人分享,在教室里教电子,并建立一家生产印刷电路板的布局。

2020-05-17

空空如也

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

TA关注的人

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