自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 js 每隔2秒循环调用

function play(objFn) { let i = 0; setInterval(() => { objFn[i](); i++; i = i < objFn.length ? i : 0; }, 2000)}

2020-10-26 09:15:43 1610

原创 js 字符串转金额格式

function strMoney(str, n,strN) { let str1 = str.substring(0, str.length % n); let str2 = str.slice(2); let i = 0; let arrstr = []; while (i < str2.length) { arrstr.push(str2.slice(i, i + n)); i += n; } let str

2020-10-24 11:14:17 1365

原创 js 跑马灯

跑马灯:Marqueegithub地址:https://github.com/aamirafridi/jQuery.Marquee<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>test</title&gt

2020-10-19 15:03:38 261

原创 css 知识点

块元素宽高,padding,margin,border都可以设置。且影响布局,有视觉效果。独自占一行。内联元素宽高不可以设置,为里面内容的宽高。padding和margin的左右,border可以设置,影响布局,且有视觉效果。padding和margin的上下可以设置,不影响布局,有视觉效果。与其他内联元素在一行。宽auto的表现最小宽度最大宽度包裹性自适应性浮动元素包裹性自适应性块级格式化上下文(设置浮动的元素,display会自动变为block或table)破坏文档.

2020-10-01 13:10:40 163

原创 js 搜索联想功能

<input type="text" class="inp"><button class="btn">搜索</button></button><br><div class="con"></div>let arr = ['namename','naee','age','append','aaa','pre','next','你好啊你好啊','你事件流咖啡豆'];let inp = document.querySelec

2020-09-28 19:25:30 189

原创 js 实现简单的模板字符串

let str = 'my name is ${name},I am ${age}...';let obj = { name: 'xxx', age: 13}let reg = /\$\{\w+?\}/g;let str1;function fn(str,obj){ Object.keys(obj).forEach((item,index,arr)=>{ str1 = str.replace(reg,obj[item]) }) retu

2020-09-25 19:47:30 677

原创 js 数组扁平化(多维转一维)

let arr = [1, 2, [3, 4, [5, 6]], 7];//方法一:console.log(arr.join(',').split(','));//方法二:console.log(JSON.stringify(arr).replace(/[\[\]]/g,''));//方法三:let arr1 = [];function fn(arr) { arr.forEach((item, index, arr) => { if (Array.isArray(

2020-09-25 18:41:42 122

原创 js 拆分url

let url = 'http://xxx.com/api/page/index?id=1&name=lin&age=13&pwd=&like=something';function sliceURL(url) { let urlarg = url.slice(url.indexOf('?') + 1); let arr = urlarg.split('&').map(function (item, index, arr) { ret

2020-09-23 09:34:37 1066

原创 promise封装ajax请求

function request(options) { return new Promise((resolve, reject) => { let { url, method, data } = { ...options }; let baseURL = 'http://xxx.com/api/'; wx.request({ header: { 'content-type': 'applic

2020-09-22 19:13:36 132

原创 js 数组去重

1、循环两遍,依次用自己和其他所有项相比,找到相同的删除,记得i--arr.forEach(function(item,index,arr){ for(let i=0;i<arr.length;i++){ if(i!=index&&item==arr[i]){ arr.splice(i,1); i--; } }})console.log(arr);...

2020-09-22 19:05:04 55

原创 面试知识点总结 - js Canvas

1. canvas介绍canvas元素:可以通过width、height设定一个区域,然后通过js动态在该区域中绘制图形;如果浏览器不支持canvas,则会显示canvas标签中的内容canvas元素有2D绘图上下文和3D绘图上下文(WebGL)canvas元素的原点在左上角,坐标为(0,0)2. canvas元素的方法getContext(‘2d’):获取2D绘图上下文,可以通过调用该对象的方法属性画各种图形toDataURL(‘image/png’):导出在canvas元素上绘制的图

2020-09-17 19:20:53 785

原创 面试知识点总结 - js 懒加载

场景:一个页面中很多图片,但是首屏只出现几张,这时如果一次性把图片都加载出来会影响性能。这时可以使用懒加载,页面滚动到可视区在加载。优化首屏加载。实现:img标签src属性为空,给一个data-xx属性,里面存放图片真实地址,当页面滚动直至此图片出现在可视区域时,用js取到该图片的data-xx的值赋给src。优点:页面加载速度快,减轻服务器压力、节约流量,用户体验好。...

2020-09-09 12:56:26 104

原创 面试知识点总结 - js 模块化

1. Es6let fn1 = ()=>{}export{ fn1, fn2}import {fn1,fn2} from './detail.js';内容是对象,分隔符是逗号export default{ name: "我是index.js", fn2: ()=>{ }}import index from "./index.js";2. commonJs(浏览器,服务器)暴露exports 对象,默认是{}exports.xxx

2020-09-09 12:51:38 549

原创 面试知识点总结 - js 进程、线程、事件循环模型

1. 进程程序的一次执行,它占有一片独立的内存空间可以通过认股管理器查看2. 线程是进程内的一个独立执行单元是程序执行的一个完整流程是CPU最小的调度单元3. Js单线程js引擎执行流程先执行初始化代码,在执行回调代码事件循环模型Web Workers (多线程)单线程:递归调用,很慢,用户不能再操作页面多线程:主线程:分线程:打印this,全局对象不是window,所以不能更新页面执行顺序:...

2020-09-09 12:45:28 102

原创 面试知识点总结 - js Video和audio

视频及音频格式(容器格式)Mpeg-4: .mp4 mpeg-3: .mp3Flash: .flv aac: .aac Ogg: .ogv ogg: .oggWebm: .webmAvi:音视频交错视频编解码器H.264(avc):mp4 ,vp8:所有 ,Theora:ogg音频编解码器aac :aac,mpeg-3:mp3 ,Vorbis:ogg...

2020-09-09 12:36:42 195

原创 面试知识点总结 - js 原型

构造函数+原型链一般情况下,属性在对象本身上,方法在原型中prototype(显示原型)每个函数都有一个prototype,为一个空对象{},称为原型对象({}无自己 写的属性).原型对象中有constructor,__proto__两个属性原型对象中的__proto__存的地址值等于Object.prototype存的地址值,地址值指向同一个对象所以相等原型对象中的__proto__默认指向Object的实例对象Object.prototyp(Object构造函数除外,因为它.

2020-09-09 12:35:19 89

原创 Git 基础

1. 概念github:git远程仓库git:版本控制系统版本控制系统:集中式(svn)和分布式(git),分布式无中央服务器,每个人都有一份完整的版本库,多人协作时,推送自己修改的给其他人,其他人就可以看到了,不用联网跟踪文本的改动,图片、视频等二进制只能记录文件大小的变化。采用UTF-8编码(只用notepad等编辑器)工作区:自己本地电脑的文件夹版本库:.git文件,git的版本库暂存区:git版本库中存了很多东西,包括称为stage(index)的暂存区,git自动创建的第一个分支

2020-09-08 20:01:23 172

原创 SQL基础

1. 命令Mysqld installMysqld initializeNet start mysqlAlter user ‘root’@’loacalhost’ identified by ‘root’Mysql -u root -pShow databasesUse testShow tablesExitMysql -h 192.168.43.161 -u root -p127.0.0.1:33062. 查询普通查询:(select * from students)

2020-09-08 19:40:28 127

原创 面试知识点总结 - js 跨域消息传输

跨域URL:https://editor.csdn.net:8000/md/?not_checkout=1协议不同域名不同端口不同目录不同参数不同以上任意一个不同都是跨域跨文档消息传输(XDM即cross-document messaging)postMessage(消息,指定消息接收方的域名):发送消息第一个参数消息为字符串,不是字符串时可以调用JSON.stringify()和JSON.parse()window的message事件,会在接收到消息时触发m

2020-09-08 09:24:24 265

原创 面试知识点总结 - js 表单

1. 表单中的标签(即表单字段)<input>type属性可以为text、radio、checkbox、submit、reset、还有h5新增的(email、url、number、range、time、datetime、date、month、week)<textarea><select>和<option><button>type属性可以为submit、reset、menu<form>2. 表单中的

2020-09-04 09:47:40 191

原创 面试知识点总结 - js RegExp

1. 正则表达式定义字面量形式let reg = /pattern/flagspattern(模式):正则表达式匹配模式,可以包含字符类、限定符、分组、查找、引用flags(标志):全局(g):在所有字符串中查找与模式匹配的项,不是找到第一个就匹配项就结束不区分大小写(i):匹配时不区分大小写多行(m):到一行结尾会继续查找下一行RegExp构造函数形式let reg = new RegExp(pattern,flags)两个参数均为字符串,使用元字符都要

2020-09-02 16:57:26 164

原创 面试知识点总结 - js Function、作用域、执行环境、引用类型&基本类型

1.

2020-09-01 19:43:34 171

原创 面试知识点总结 - js 缓存

数据存储Storage类型概念:提供最大的存储空间(因浏览器而异)来存储名值对,每个域都有固定大小的存储空间用于保存自己的数据Storage实例的方法:clear():删除所有值getItem(name):获取指定名字对应的值setItem(name,value):给指定名字设置对应的指定值removeItem(name):删除指定名字的名值对key(index):获取指定位置的值length:名值对的个数除了以上方法,还可以用点或者方括号[]语法访问storage事

2020-08-31 10:01:05 98

原创 面试知识点总结 - js JSON

概念JSON(JavaScript Object Notation):JavaScript对象表示法,是一种数据格式语法简单值:可以表示的包括String、Number、Boolean、Null,语法和js相同;不支持Undefined对象:一组无序的键值对;每个键值对中的值可以为简单值和复杂数据类型的值数组:一组有序的值的列表;数组的值可以为任意类型(简单值、对象、数组),可以统统数组的索引来访问其中的值注意事项不能表示undefined字符串必须用双引号属性名必须加

2020-08-28 09:04:00 185

原创 面试知识点总结 - js 拖放

被拖放元素任何元素都可以作为拖放元素除了图片、链接、文本(被选中的情况下)可以被拖动,其他元素默认是不能被拖放的,可以在元素标签中设置draggable=‘true’,可以让其他元素可以拖放被拖放元素上的事件:dragstart:按下鼠标键并开始移动鼠标时触发drag:元素被拖动期间持续触发dragend:拖动停止时触发(无论是把元素放到有效还是无效的放置目标上)拖动期间浏览器默认不会改变拖动元素的外观,会为该拖动元素创建一个半透明的副本,该副本跟随光标移动作为放置目标的

2020-08-27 17:42:47 158

原创 面试知识点总结 - js 事件

概念事件流:描述从页面中接收事件的顺序事件流的三个阶段:捕获、处于目标对象、冒泡事件:用户或浏览器自身执行的某种动作事件处理函数:响应某个事件的函数,以on开头事件名:click事件处理函数名:onclick定义事件处理程序(即事件的响应函数):在html中定义js中定义-DOM0:ele.οnclick=fnjs中定义-DOM2:ele.addEventListener(‘click’,fn,{})事件对象(event):所有与事件有关的,从浏览器传导事件处理程序函数

2020-08-27 16:49:00 262

原创 面试知识点总结 - js DOM

节点、标签、元素、Node类型nodeNamenodeValuenodeTypechildNodeparentNodefirstChildlastChildnextSiblingpreviousSiblingownerDocumentchildrenappendChild()removeChild()insertBefore(’’,’’)cloneNode(true/false是否包含子节点)normolize()replaceChild(’’,’’)document..

2020-08-23 21:18:32 172

原创 面试知识点总结 - js Object

一组数据和功能的集合创建对象var obj = {}var obj = new Object()实例obj的原型为Object.prototype,具有如下属性和方法constructor:创建当前实例对象的函数hasOwnProperty(属性):给定属性是否在当前实例对象中,而不是在实例的原型对象中propertyIsEnumerable(属性):给定属性是否可以使用for…in枚举isPrototypeOf(object):对象原型是否是当前传入对象的原型..

2020-08-21 19:03:15 127

原创 面试知识点总结 - js Array

概念数组是数据的有序列表长度可以动态调整(通过length调整,或随着数据的增加删除改变)每一项可以保存任何数据类型的数据索引范围是0->length-1改变原数组的方法有7个:push、pop、unshift、shift、reverse、sort、splice创建数组var arr = new Array()var arr = []检测数组arr instanceof ArrayArray.isArray(arr)join(分隔符字符串..

2020-08-20 12:44:51 107

原创 js的 for、for...in、for...of、forEach、filter、map、some、every的区别

1、for2、for…in3、for…of4、forEach、filter、map、some、every都是数组的遍历方法,都接收两个参数,要在数组每一项上执行的函数,和执行指定函数的作用域对象,第一个参数函数接收3个参数,function(当前数组项的值,当前数组项的索引,数组本身){}forEach:没有返回值filter:返回执行函数后返回true的数组项组成的数组map:返回每一项执行函数后的返回值组成的数组some:执行函数后任意一项返回true,则返回trueevery:

2020-08-20 11:43:17 212

原创 js 各种数据类型的toString、valueOf方法比较,及Object.prototype.toString.call(各种数据类型数据)

Object.toString.call(各种数据类型数据)

2020-08-20 09:01:37 154

原创 面试知识点总结 - js Number

进制表示:10进制直接写8进制以0开头,后面数值的范围是0-7,如果后面的数值超出范围,则忽略前导0,后面的数值看成10进制16进制以0x开头,后面数值的范围是0-9及a-f(或A-F,不区分大小写)数值分类:整数和浮点数浮点数:数值中必须有一个小数点,且小数点后面至少有一位数字浮点数所占的内存空间时整数的两倍,所以ECMAScript会自动的将浮点数转为整数,当浮点数为(1.或1.0)这样时科学计数法(e):e或者E,不区分大小写men = mEn = m*10^nm为数值(整..

2020-08-19 12:10:44 133

原创 面试知识点总结 - js String

字符串的概念由0个或多个Unicode字符组成用成对的单引号或者双引号表示字符字面量:换行(\n)、回车(\r)、tab(\t)、空格(\b)、进纸(\f)、\(\)、’(’)、"(")、16进制(\x)、Unicode字符(\u)创建后不能修改,只能先删除,在创建新的字符串的方法toString():返回相应值的字符串表现Boolean、Number、String、Object都有该方法Null、Undefined没有该方法String():Boolean、Number、

2020-08-18 17:39:21 106

原创 VSCode快捷键

Alt + Shift + ↑ : 复制光标所在的一行Ctrl + Shift + L : 批量选中所有光标选中的相同单词

2020-08-18 11:35:24 55

原创 面试知识点总结 - js 语法、变量、数据类型、标识符、操作符、语句

1. 语法所有都区分大小写(变量名、函数名、操作符、语句等都所有都区分大小写)严格模式:‘use strict’2. 变量用来保存任意数据类型的数据,为松散类型用var定义,会成为该变量所在作用域的局部变量;省略var定义变量,会成为全局变量;函数作用域中的变量会在函数退出后被销毁定义未赋值的变量,默认值为undefined用逗号分隔可以在一个语句中定义多个变量,var a,b,c;3. 数据类型基本数据类型:Undefined、Null、Boolean、Number、

2020-08-14 19:39:50 117

原创 面试知识点总结 - js Boolean

Boolean()后为false的值:false、‘’、0、NaN、undefined、null流程控制语句可以触发强转:如if()boolean有基本类型(false、true)和引用类型(通过new构造函数:new Boolean(false)) let obj = new Boolean(false); //根据构造函数Boolean,new出来的实例对象,所以原型链上有Boolean,原型对象(Boolean.prototype)为对象,所以原型链上还有Object //obj...

2020-08-13 18:51:54 103

原创 面试知识点总结 - js 回调函数、闭包、递归、尾调用、尾递归

function fn(){ console.log('fn')}//回调函数//一个函数,参数为函数,当满足某个条件是执行该参数函数function test(fn){ setTimeout(() => { fn() }, 1000);}test(fn)//闭包//一个函数,返回一个函数,在里面的函数中引用外面函数的变量function test1(){ let a = 'aa'; return function(){

2020-08-11 15:26:34 284

原创 面试知识点总结 - ES6 变量的解构赋值

1. 概念按照一定模式从数组或对象中提取值,然后赋值给对应的变量变量(模式匹配) = 被解构的对象如果解构不成功,变量值为undefined不完全解构(即等号左边的模式值匹配右边的一部分),也可以解构成功允许给左侧变量指定默认值左侧变量的默认值生效条件:当右边对应的解构的值全等于(===)undefined时,或者右边没有对应的解构的值时默认值可以引用解构赋值的其他变量,但该变量必须已经声明默认值为表达式时,为惰性求值(即如果变量可以取到值,默认值的表达式就不会运行)

2020-08-11 15:18:23 143

原创 面试知识点总结 - ES6 let和const

let & const块级作用域(如:for循环只在本轮循环有效)没有变量提升(只能在声明后使用)不能重复声明(如:函数内部不能再次声明该函数的参数)constconst声明的是常量(即基本类型),不能改变初始化时必须赋值(否则就是有undefined变成了后面的赋值)const声明的变量,基本类型不能改变;引用类型,对象的引用不能改变,对象的属性可以改变...

2020-08-07 18:28:09 105

原创 面试知识点总结 - ES6 异步处理方案 promise

异步异步任务:定时器、DOM事件、ajax请求、图片视频等资源的加载异步解决方案:事件回调函数、promise1. 概念promise是一个异步事件的容器,一旦新建立即执行,中途无法中断有三种状态(进行中pending、成功fulfilled/resolved、失败rejected)状态不收外界影响,只有异步操作的结果可以影响状态一旦改变就会一直保持不变,任何时候都可以得到该结果,不像事件,只有发生时可以监听到,否则会错过是一个构造函数,接收一个函数为参数,该函数有两个参数,分别

2020-08-07 11:00:08 231

空空如也

空空如也

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

TA关注的人

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