自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vscode插件报错error while fetching extensions xhr failed

然后就能搜索插件了。

2023-09-19 20:46:02 527

原创 前端vscode常用插件(你值得拥有)

中文翻译插件,英语不好的同学下载。包含代码注释,代码重构,等等。快速生成react代码片段。

2023-06-20 23:23:05 215

原创 git commit 提交规范

ajax是什么:英文翻译 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML),就是异步的JavaScript。ajax解决了什么问题:AJAX 是一种用于创建快速动态网页的技术。 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。使用代码 function ajax1(ur.

2022-06-30 20:46:33 191

原创 获取地址栏参数对象

const queryStringObj = () => { let searchParams: any = new URLSearchParams(window.location.search); // 输出键值对 let obj: any = {}; for (var key of searchParams.keys()) { obj[key] = searchParams.get(key); } return obj;};

2022-04-24 20:46:21 333 1

原创 typescript学习第二天

泛型function func1<T,U>(arr:[T,U]):[U,T]{ return [arr[1],arr[0]]}let result=func1(['str',1])约束泛型type TWithLength={ length:number}function func1<T extends TWithLength>(args:T):T{ return args}func1([1])func1('s')func1(1

2022-04-15 23:56:06 621

原创 typescript学习第一天

基础类型let a:string='hello';let b:number=0;let c:boolean=true;let n:null=null;let f:undefined=undefined;数组let array:number[]=[1,2,3,] //数组元素只能有一种类型let array1:[number,string]=[1,'2'] //数组元素必须为以下类型array1.push(true) //类型“boolean”的参数不能赋给类型“st..

2022-04-14 23:54:37 688

原创 React组件通信(子父)

React子父通信props传值ref传值props传值函数组件相当于是变量提升,把参数定义在父组件,通过props传递给子组件function Parent() { let a = 1; //父组件 return ( <div> <Child a={a}></Child> </div> );}function Child(props: any) { let { a } = props;

2022-03-07 20:17:26 591 1

原创 3分钟带你了解ajax请求

ajax是什么:英文翻译 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML),就是异步的JavaScript。ajax解决了什么问题:AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。原生ajax function ajax1(url

2022-03-03 21:34:38 512

原创 2022前端开发面试题手写代码

目录函数防抖(debounce)函数节流 throttle手写 promise数组降重数组乱序实现 bindjs 实现千位分隔符函数防抖(debounce)概念:在事件被触发 n 秒后再执行回调,如果在这 n 秒内又被触发,则重新计时。function debounce(fn, wait) { var timer = null; return function() { var context = this; var args = arg...

2022-02-23 23:22:54 165

原创 js数组includes与indexOf区别

includeslet arr=[1,true,3];a.includes(1) //=>true;a.includes(11) //=>false;indexOfqulet a=[1,2,3,NaN];a.includes(1) //=>0a.indexOf(11) //=>-1区别includes认为NaN与自身相等。let a=[1,2,3,NaN];a.includes(NaN) //=>truea.inde

2022-01-12 21:55:26 276

原创 git多人协作流程

学习目标:提示:这里可以添加学习目标例如:一周掌握 Java 入门知识学习内容:提示:这里可以添加要学的内容例如:1、 搭建 Java 开发环境2、 掌握 Java 基本语法3、 掌握条件语句4、 掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:1、 周一至周五晚上 7 点—晚上9点2、 周六上午 9 点-上午 11 点3、 周日下午 3 点-下午 6 点学习产出:提示:这里统计学习计划的总量例如:1、 技术笔记 2 遍2、CSDN 技术博客

2021-09-28 01:19:08 104

原创 git 拉取远程分支报错 fatal: ‘origin/dev‘ is not a commit and a branch ‘dev‘ cannot be created from it

报错原因,是因为本地仓库,没有更新到远程仓库的分支,解决方法git pullgit pull dev(远程分支名称) origin/dev

2021-09-27 23:03:10 2036

原创 git (master|MERGING)合并冲突

进行git操作时,推送失败。这是因为本地分支与远程不同步,git pull origin master合并出现冲突,直接去代码编辑器中解决冲突然后git add .git commit -m再次提交git push

2021-06-29 10:52:21 3180

原创 微信小程序常用api

微信小程序常用api获取用户个人信息获取用户手机号客服获取收获地址获取用户个人信息<font color="#eee>代码如下: wx.getUserProfile({ desc: '自定义描述信息', success:(res)=>{ console.log(res.); let {userInfo}=res; console.log(userInfo.avatarUrl)//用户头像 console.

2021-06-28 23:29:00 4049

原创 在vuecli4中使用sass

1下载依赖,安装包npm i sass-loader node-sass --save2注意版本3配置文件根目录下 vue.config.js文件中module.exports = { css: { loaderOptions: { sass: { prependData: `@import "./src/styles/index";`, }, }, .

2021-06-27 22:39:46 563 4

原创 JavaScript面试题

1、JavaScript有哪些垃圾回收机制有以下垃圾回收机制。标记清除( mark and sweep)这是 JavaScript最常见的垃圾回收方式。当变量进入执行环境的时候,比如在函数中声明一个变量,垃圾回收器将其标记为“进入环境”。当变量离开环境的时候(函数执行结束),将其标记为“离开环境”。垃圾回收器会在运行的时候给存储在内存中的所有变量加上标记,然后去掉环境中的变量,以及被环境中变量所引用的变量(闭包)的标记。在完成这些之后仍然存在的标记就是要删除的变量。引用计数(...

2021-06-21 23:22:39 72

原创 跨域解决方案

跨域解决方案1、 通过jsonp跨域2、 document.domain + iframe跨域3、 location.hash + iframe4、 window.name + iframe跨域5、 postMessage跨域6、 后端服务器设置(CORS)7、 nginx代理跨域8、 nodejs中间件代理跨域9、 WebSocket协议跨域...

2021-06-18 23:48:06 69

原创 网站性能优化的几种方法

网站性能优化的几种方法压缩源码和图片( JavaScript 采用混淆压缩, ss 进行普通压缩, JPG 图片根据具体质量压缩为 50% 70% ,把 PNG 图片从 24 色压缩成 色以去掉 PNG 格式信息等)选择合适的图片格式(颜色数多用 JPG 格式,而很少使用 PNG 格式,如果能通过服务器端判断浏览器支持 WebP 就用 WebP SVG 格式)合并静态资源(减少 HTTP 请求)使用精灵图开启服务器端的 Gzip 压缩(对文本资源非常有效)GZIP格式已经成为使用非常普遍的

2021-06-18 23:07:36 407

原创 7 个有用的 JavaScript 技巧和技巧

7 个有用的 JavaScript 技巧和技巧1、转换为数字一元 + 运算符数字解析整数解析浮点数2、管理对象3、交换两个变量4、 设置默认值变量参数对象5、区间随机数6、删除数组重复项7、动态属性名称8、奖励你一个额外的小技巧在本文中,我收集了一些关于JavaScript 技巧和窍门,我相信它们可以让你成为更好的 JavaScript 开发人员。没有特别的顺序,这里一共收集整理了7个 JavaScript 技巧!1、转换为数字JavaScript 是一种松散类型语言,这意味着我们不必明确指定变量的类

2021-06-12 09:51:40 193 2

原创 前端面试题-网络通信

1从输出url到页面渲染中间发生了什么当你在百度地址栏输入https://www.baidu.com,浏览器是怎样解析渲染的呢,这个过程大概分为两个阶段,网络通信和页面渲染。一、网络通信1. 在浏览器中输入url用户输入url,例如http://www.baidu.com。其中http为协议,www.baidu.com为网络地址,及指出需要的资源在那台计算机上。一般网络地址可以为域名或IP地址,此处为域名。使用域名是为了方便记忆,但是为了让计算机理解这个地址还需要把它解析为IP地址。2. 应用层D

2021-05-23 10:33:25 338 3

原创 自定义音视频控件

自定义音视频控件效果图如下实现原理音视频标签对象的属性和方法:1, 方法:`play()` `pause()`2. 属性: `currentTime` `duration`3. 事件:4. 音量的控制问题分析代码如下效果图如下实现原理在此你需要知道以下原理音视频标签对象的属性和方法:都是DOM对象的属性和方法1, 方法:play() pause()play()开始播放视频。pause() 暂停当前播放的视频。2. 属性: currentTime durationcurrentT

2021-04-21 19:49:00 308 3

原创 Navicat for MySQL导入json文件教程

导入json文件1打开数据库2点击表,导入向导3选择导入json文件3 不要选择标签 ,点击下一步4点击开始5打开数据库刷新,6设计表,设置主键自增1打开数据库2点击表,导入向导3选择导入json文件3 不要选择标签 ,点击下一步4点击开始5打开数据库刷新,6设计表,设置主键自增...

2021-04-10 16:41:07 5013 4

原创 js执行机制经典面试题(一)

经典面试题如果你知道以下代码输出结果,出门左拐,不送,如果你不懂,你需要认认真真的看。process.nextTick必须在nodejs中执行 console.log('1'); setTimeout(function() { console.log('2'); process.nextTick(function() { console.log('3'); }) new Promise(function(

2021-03-31 23:53:44 1645

原创 socket.io实现简单多人聊天室

效果图1 初始化项目前提是已经安装并且能够熟练使用nodejsnpm i -y生成以下文件表示安装成功public与server为自己创建的一路回车就完事了2安装express与socket.io到依赖上npm i express socket.io --save下载去npm官网下载socket.io.js文件放在客户端搭建服务器const express = require('express');const app = express();const socket =

2021-03-29 23:48:50 1002 4

原创 form表单验证

html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> &lt.

2021-03-24 23:46:08 203 1

原创 jQuery动态粒子效果

效果图代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <ti

2021-03-16 22:26:38 421 5

原创 JavaScript原型链(5分钟看懂)

原型链的结构自定义函数,以及Object、String、Number等内置函数,都是由Function函数自身创建的。每一个构造函数都有一个原型对象,构造函数通过prototype属性指向原型对象,原型对象通过constructor指向构造函数。由构造函数创造的实例对象,继承自构造函数的原型对象,通过对象的__proto__属性可以直接访问原型对象构造函数的原型对象,继承自Object的原型对象,而Object的原型对象的__proto__属性为空。原型链示意图如下脚下留心在进行原型操作

2021-03-07 18:07:20 3639 21

原创 JavaScript制作日历

效果图代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <titl

2021-03-06 11:19:31 3136 18

原创 js遍历添加事件索引问题

项目场景:通过遍历添加点击事件时,想要获取点击元素的索引,但是索引都是元素长度的 length问题原因:for循环的问题for循环的执行过程为,先执行语句1 ,也就是声明i值,并且赋值为0,然后判断小于3,然后执行大括号中的语句,然后再++i;因为用var 声明的为全局变量,循环结束后i值为3,事件发生以后向函数外部查询i值,结果就为4.例子for (var i = 0; i < 3; i++) { console.log('循环中的i='+ i);

2021-03-04 19:45:03 604 4

原创 ES6函数参数的扩展

默认参数基本用法function fn(name,age=17){ console.log(name+","+age);}fn("Amy",18); // Amy,18fn("Amy",""); // Amy,fn("Amy"); // Amy,17函数参数的默认值设置默认值的参数应该在函数的最后面,否则默认值设置是无效的。function show(a,b=0){ console.log(a,b);}show(1);注意点:使用函数默认参数时,不允许有同名参数。

2021-02-24 20:23:25 396

原创 ES6解构赋值

概述解构赋值是对赋值运算符的扩展。他是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中数据字段获取。解构模型在解构中,有下面两部分参与:解构的源,解构赋值表达式的右边部分。解构的目标,解构赋值表达式的左边部分。数组模型的解构(Array)基本let [a, b, c] = [1, 2, 3];// a = 1// b = 2// c = 3可嵌套let [a, [[b], c]] = [1, [[2]

2021-02-24 19:56:24 88

原创 ES6声明(let、const)、块级作用域

ES6声明let 命令基本用法:代码块内有效不能重复声明不存在变量提升const 命令基本用法:暂时性死区:注意要点ES6块级作用域ES2015(ES6) 新增加了两个重要的 JavaScript 关键字: let 和 const。let 声明的变量只在 let 命令所在的代码块内有效。const 声明一个的只读常量,一旦声明,常量的值就不能改变。在这里插入代码片let 命令基本用法:{ let a = 0; a // 0}a // 报错 ReferenceError: a

2021-02-24 19:06:14 240

转载 闭包

函数外部访问函数内部的值。把f2函数作为f1函数的调用结果,再定义一个变量接受f1. function f1() { // 没有用var 就是代表全局变量 mm = 20; function f2() { // 函数的内部可以使用到父函数的变量 alert(mm); } // 把f2 这个函数返回出去

2021-01-27 20:03:45 83

原创 猴子选大王(递归超简单)

//猴子选大王 var total = prompt('请输入猴子的总数'); var kick = parseInt(prompt('请输入踢出第几只猴子')); var monkey = []; for (var i = 1; i <= total; i++) { monkey.push(i); } i = 0; //当数组剩一个元素的时候,退出循环 .

2021-01-26 12:24:38 1252

原创 cookie案例---小米购物车历史记录(离线不可用)

效果图都是在线生成的。实现步骤1遍历数组对象生成商品信息定义一个商品信息数组var dataList = [{ imgSrc: "https://cdn.cnbj0.fds.api.mi-img.com/b2c-miapp-a1/413f5e2f-53e7-0879-119c-8b4466feea53.jpg?thumb=1&w=180&h=180", goodsName: "贝医生巴氏牙刷 ", price: "39.9元"

2021-01-25 22:25:55 2048 2

原创 js中的 this指向问题,call,apply,bind

JavaScript this 关键字面向对象语言中 this 表示当前对象的一个引用。但在 JavaScript 中 this 不是固定不变的,它会随着执行环境的改变而改变。在方法中,this 表示该方法所属的对象。如果单独使用,this 表示全局对象。在函数中,this 表示全局对象。在函数中,在严格模式下,this 是未定义的(undefined)。在事件中,this 表示接收事件的元素。类似 call() 和 apply() bind方法可以将 this 引用到任何对象。方法

2021-01-22 11:48:23 189

原创 cookie访问历史记录

需求1.进入页面 先判断cookie中有没有足迹信息1.1 有 取出 遍历之后放入到footprint中1.2 没有 就没有了呗2.在点击li时,产生一条历史访问记录2.1 将这条记录放入到cookie中, 数组[] 转json字符串 放入到cookie2.2 放入时应该判断是否存在 是的话,将原来的删除,新的放入 没有的话,直接放入2.3 历史记录是有长度显示的。 最多只能存放三条,当你放入第四条的时候,应该删除第一条。效果图如下代码如下JS代码function $(

2021-01-21 19:36:38 520

原创 json字符串,localStorage本地存储

格式;键值对格式 键和值都需要用双引号去包括 '{"name":"yasuo"}'json用途:在网络传输时使用。 比如前后端交互。不能够传输对象和数组的。只能通过字符串形式去传输数据。所以说我们如果要传输对象和数组,我们需要将其转换为字符串。json格式就是满足对象和数组数据结构的一种字符串json的使用方法: JSON.parse() 把json格式的字符串转为js中的数组或对象 json.stringify()

2021-01-20 20:22:51 1270

原创 js正则表达式,登录验证

正则表达式概念1. 用来验证字符串是否符合规则2. 从字符串中获取一部分符合规则的内容创建正则对象通过new关键字来声明一个正则对象第一个参数:正则的主体, 字符串 第二个参数 :修饰符 字符串 i 不区分大小写 g 全局匹配 m 换行匹配var str = new RegExp("hello","ig");2. 字面量创建 var str = /are/i;正则常用方法test()返回值:布尔值功能:校验字符串是否复合规则 var str .

2021-01-20 17:32:07 781

原创 JavaScript实现小米购物车功能案例

需求点击全选按钮,按钮全部被选中,结算价格发生变化 ,选中数量变化,取消全选,按钮全部取消选中,结算价格发生变化 ,选中数量变化。 点击单选按钮,按钮选中状态,结算价格发生变化 ,选中数量变化,取消按钮,结算价格发生变化 ,选中数量变化。 点击加号,小计变化,总数量变化。 点击减号,小计变化,总数量变化。 点击加入购物车新增一件商品,效果图如下代码如下HTML代码<!DOCTYPE html><html lang="en"><h...

2021-01-19 20:50:00 6561 14

小米工具栏响应式布局.zip

响应式布局

2020-12-24

2.开发工具-Visual Studio Code 64位-1.46.1.exe

  现在使用Vscode编码的人越来越多,凭借着免费,开源,轻量,跨平台的特点收货了一大批忠实粉丝    最近因项目需要开始使用Vscode,但不知为何,感觉有点力不从心,不知道该怎么用    首先想到去官网看看,然后放弃了(英语渣渣表示压力山大,其实正因为英语差,才更应多锻炼一下,大家不要学我啊)    最后自己摸索和看相关视频才豁然开朗。现在做一个归纳总结,希望能帮到有需要的人

2020-12-03

空空如也

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

TA关注的人

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