自定义博客皮肤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)
  • 收藏
  • 关注

原创 js数组分组

var chunk = (arr, size) =>{ let result = [] while(arr.length){ result.push(arr.splice(0, size)) } return result}var chunk = (arr, size) =>{ return Array.from({le...

2020-03-29 14:14:21 532

原创 js排序算法

1.冒泡排序平均时间复杂度O(n*n) 最好情况O(n) 最差情况O(n*n) 空间复杂度O(1) 稳定性:稳定function bubbleSort(arr){ let len = arr.length for(let i = 0; i < len; i++){ for(let j = 0; j < len-1-i;...

2020-03-21 23:45:01 194

原创 for循环下的setTimeout

for(var i = 0; i < 2; i++){ (function(i){ setTimeout(()=>{ console.log(i) },i*1000) })(i)}// 0 1 2for(var i = 0; i< 3;i++){ setTimeout(function()...

2020-03-20 22:42:30 252

原创 算法题

递归+循环function fn(str){ let res = [] if(str.length == 1) return [str] for(let i = 0; i < str.length; i++){ let rest = str.slice(0,i) + str.slice(i+1) let arr = fn(res...

2020-03-15 18:45:26 241

原创 笔试小题

①对象的解构赋值找到同名属性,对该属性对应的变量赋值let {bar: foo,bar = 'foo'} = {foo: 'foo', bar: 'bar'}console.log(bar, foo) // bar bar②NodeList类数组自带forEach方法let a = document.querySelectorAll('body')console.l...

2020-03-15 15:57:27 123

原创 js函数传参

知识点一:函数参数传递形式基本类型是按值传递的引用类型按共享传递(传递对象引用的副本)修改参数对象的属性值,会影响到外部对象,但是重新赋值不会影响知识点二:函数参数和函数内声明的变量同名 都代表的是同一个东西let a = {name: 1}function fn(a){ console.log(a,arguments[0])//{name: 1} {name: 1...

2020-03-14 20:58:19 94

原创 js判断字符串是否是回文的三种方法

function fn1(str){ let strReverse = str.split('').reverse().join('') return str == strReverse ? true : false}function fn2(str){ let len = str.length if(len == 0 || len == 1) retu...

2020-03-13 14:21:37 3199

原创 bind绑定this特点

const obj = { a: 1, b: function() { console.log(this.a); }}const obj1 = { a: 2}const fun = obj.b;fun.bind(obj1).apply(obj); //2fun.bind(obj1).bind(obj)()//2bind绑定this的特点:...

2020-03-08 22:49:09 414

原创 数组对象去重

仅根据id判断letarr1 =[{id:1,name:'a'},{id:2,name:'b'},{id:1,name:'a'},{id:3,name:'c'}]let obj = {}let res = arr1.reduce((prev, cur) => { obj[cur.id] ? '' : ob...

2020-03-08 21:39:13 309

原创 __proto__ ,prototype,constructor

__proto__每个对象(函数)都具有一个名为__proto__的属性,它指向原型对象,存在于实例和构造函数的原型对象之间,原型链就是靠它形成的 对象的__proto__指向其构造函数的prototype 构造函数的__proto__指向Function.prototype 原型链到Object.prototype终止Function.prototype.__proto__ === ...

2020-02-28 22:35:46 249

原创 js判断质数、丑数、完数、质因子、最大公约数、最小公倍数

1.判断是否为质数思路:2 、3为质数 能被2,3整除的排除 缩小范围,平方根内的 能被5整除 且能被不是3和5倍数的奇数整除的排除(较少重复多余判断)function isPrime(n) { if (n <= 3) return n > 1 if (n % 2 == 0 || n % 3 == 0) return false for ...

2020-02-28 22:02:40 774

原创 js斐波那契数列实例

创建指定个数的斐波那契数列function fun(n){ if(n==1){ return [1] }else if(n==2){ return [1,1] }else{ let arr = [1, 1] for(let i = 2; i< n; i++){ arr.pus...

2020-02-22 14:38:34 193

原创 array.filter()妙用

获取两个数组中不同的部分arr1 = [1,2,3]arr2 = [2,3,4]let arr= [...arr1, ...arr2].filter(item => !arr1.includes(item) || !arr2.includes(item)) //[1,4]剔除数组中的假值(false, null, undefined, NaN, 0, "")array...

2020-02-20 11:17:07 598

原创 freeCodeCamp算法基础题记录

1.翻转字符串function fun(str){ return str.split('').reverse().join('')}2.返回一给定整数的阶乘function factorial(num){ let res = 1 for(let i = 2; i<= num; i++){ res = res*i } r...

2019-12-25 22:16:43 171

原创 嵌套的promise执行顺序以及多个promise顺序执行

1. promise.resolve()① 不带参数的时候,直接返回一个resolved状态的promise对象promiseStatus:resolvedpromiseValued : undefined② 带参数时 参数会传给回调函数promiseStatus:resolvedpromiseValued : 参数2.每次调用then都会返回一个新创建的promis...

2019-12-19 23:45:53 12667 1

原创 js常见数组操作总结

目录数组元素求和数据去重数组平铺求数组最大/小值求数组中每个元素出现的次数取数组中的部分元素删除数组中指定元素数组元素求和① reduce() let arr = [1,2,3] let res = arr.reduce((x,y) => x+y)数据去重① reduce() + includes()/indexOf() +...

2019-11-06 21:42:47 132

原创 浏览器与服务器如何实现http连接的

浏览器会根据url获取ip地址和端口号,并建立一条到服务器的连接,连接建立采用了三次握手机制,确保了连接的可靠和有效,当服务器收到请求后,会根据请求的方法,资源、首部、和可选的主体部分对请求进行处理并构建响应报文发送回浏览器,浏览器读取该响应报文,且通过tcp四次挥手服务器和客户端关闭连接。...

2019-11-01 00:22:21 1328

原创 css伪类伪元素

伪类:单冒号 :已有元素处于某种状态时为其添加对应的样式 伪类并不改变任何DOM内容 伪类的效果可以通过一个实际的类来达到状态伪类::active、:focus、:hover、:link、:visited、 结构化伪类::first-child:last-child:root:nth-child(n):nth-last-child(n) //n的起始值...

2019-10-26 00:40:21 107

原创 css盒模型相关

标准盒模型widtht指content的width 一个块的总宽度为:width(content)+padding+border+margin 设置box-sizing: border-box转为怪异盒模型 (常用) IE/怪异盒模型width指content+padding+border 一个块的总宽度为:width(content+padding+border) + ma...

2019-10-25 23:44:50 85

原创 js数据存储Cookie、localStorage、sessionStorage

localstorage(本地存储)、sessionStorage(会话存储)①存储特点存储空间限制:一般为5MB或者更大,拓展了cookie的4KB限制 存储内容类型:只能存储字符串,非字符串的在存储之前会被转为字符串 存储位置:存在客户端,且无需持续的将数据发回服务器②优势存储空间更大 节省网络流量 快速显示 安全性更高 操作方便③不足之处在浏览器无痕模式下...

2019-10-25 00:24:13 275

原创 HTTP缓存相关

①基本流程浏览器第一次请求数据时,服务器会将缓存标识(放在响应头中)和数据(响应主体)一同返回给客户端,客户端将数其备份到缓存数据库中;当再次请求数据时,先根据catch-control或者expires判断本地缓存是否过期,若未过期,直接使用本地缓存;(强缓存)如果本地缓存过期,并不意味着缓存不能用了,因为服务器的资源可能还没有变,可通过与服务器协商,判断本地缓存是否可用。(协商缓存)浏览器会在请求头中设置缓存标识,服务器根据缓存标识进行校验,如果资源未改变,则返回304状态码,通知浏览器使用本

2019-10-23 21:58:35 131

原创 js转换规则总结

目录数据类型转换函数Boolean()Number()String()toString()parseInt(str,n)parseFloat(str)比较运算!!a if(a)!a===和!==a == b+操作符&& 和 || 转换规则①.数据类型转换函数Boolean()为false的特殊值有: fa...

2019-10-22 22:32:35 215

原创 css position定位方式

fixed(固定定位):相对于浏览器窗口进行定位,是固定的,即使窗口滚动它也不会移动absolute(绝对定位): 相对于离它最近且定位不是static的父元素进行定位,若没有则相对于浏览器窗口,随窗口的滚动而滚动relative(相对定位):相对于自身进行定位,不脱离文档流,会对其余文档产生影响区别fixed和absolute均会脱离文档流,relative不会脱离文档流 在有...

2019-10-20 13:59:22 176

原创 js对象总结

js对象大致分为三类:内置对象 宿主对象 自定义对象1.内置对象由ESMAScript实现提供的,不依赖宿主环境的对象,这些对象在ESMAScript程序执行前就已经存在了。Array、Function 、Boolean 、Error、symbol、JSON Date、Number、Math: 日期、数字、执行数学计算的对象 String、 RegExp :用来表示和操作字符串...

2019-10-19 12:57:41 133

原创 typeScript定义数组类型的三种方式

1. 类型[ ]letarr:number[]=[1,2,3,4]//数字数组不允许出现其他数据类型letarr2:string[]=['h','h','h']//字符串数组letarr3:any[]=[1,'h','h',3]//允许数组中出现任意类型 2. 用接口表示数组,一般用于描述类数组interface...

2019-10-03 11:28:43 37193

原创 typeScript学习笔记(一)数据类型

????typeScript学习文档官网教程:https://www.tslang.cn/docs/home.htmlTypeScript Handbook(中文版):https://zhongsp.gitbooks.io/typescript-handbook/TypeScript Deep Dive(中文版):https://jkchao.github.io/typescript-boo...

2019-10-02 15:50:58 331

原创 http请求状态码全部

????目录1XX: 信息类状态码2XX: 成功状态码3XX: 重定向状态码4XX: 客户端错误状态码5XX:服务器错误状态码1XX: 信息类状态码表示临时响应并需要请求者继续执行操作的状态码100 Continue (继续) 说明收到了请求的初始部分,请客户端继续。101 Switching Protocols(切换协议) ...

2019-09-28 14:50:45 162

原创 颜色网站汇总

配色相关1. 渐变配色 uiGradients - Beautiful colored gradients提供大量渐变配色方案,并能查看和复制渐变的css代码适合设计师和前端开发者2.配色完全ガイド!カテゴリー別見本100個とカラーパレットの使い方まとめ - PhotoshopVIP3.BrandColors颜色值相关1.Material D...

2019-09-28 10:48:35 12801

原创 提高工作效率的实用工具

1.截图工具: snipaste截图、贴图、取色,建议直接下载试用下,相当好用。使用帮助文档:https://docs.snipaste.com/zh-cn/官网下载地址:https://www.snipaste.com/download.html2.笔记:有道云笔记3.文件搜索、快速打开应用:wox + everything下载地址:http://ww...

2019-09-28 10:45:28 182

原创 http请求中FormData和requestPayload的区别

HTTP请求类型为GET时,请求参数以键值对的形式并由和号(&)分割附在url的后面,当请求类型为post时,请求参数作为请求主体提交,且请求主体数据格式不限Content-type:multipart/form-data(文件上传) 请求方式:Request Payload Content-type:text/plain;charset=UTF-8 (ajax原生请求) ...

2019-09-25 23:37:33 591

原创 javaScript向数组中添加元素的方法

向数组中添加元素push 在数组末尾添加 splice 在数组任意指定位置添加 unshift 在数组头部添加 concat 在数组末尾添加(可添加元素或数组)合并数组a.concat(b) a.push(...b) Array.prototype.push.apply(a,b) a.push.apply(a,b)push、unshfit、splice在原数组中进行新增,...

2019-09-22 23:26:30 2444

原创 js数组常用方法总结(三) push、concat

push()在原数组的基础上修改的,执行push()方法后原数组的值也会变,在原数组后面添加值;返回值:添加元素后的数组的长度concat()连接两个或多个数组,返回一个新数组一个数组先把原数组的每个值复制到一个新/另的数组,然后在新/另数组上进行操作,不会改变原数组的值。如果参数不是数组,不管参数个数有多少个,push()和concat()都会直接把参数添加到数组后;...

2019-09-22 23:25:37 473

原创 js数组字符串常用方法总结

不改变原数组的方法有: concat、join、slice、map改变原数组的方法:splice、sort 、push、forEach1.删除数组中指定的元素 indexOf() & splice() let index = array.indexOf(val)// 获取该元素在数组中的索引 // 若数组中存在该元素 if(index > -...

2019-09-20 09:06:36 115

原创 js数组常用方法总结(二)map&forEach

1.map()方法返回一个新数组,新数组中的每一项都是原数组调用回调函数后的结果。map()不会对空数组进行检测 map()返回一新数组,不改变原数组2.forEach()方法返回undefined,为数组中的每一项执行一次callback函数。 只能用于遍历数组 语法:array.forEach(function(currentValue, index,...

2019-09-16 23:35:41 341

原创 css两选择器间隔符

空格:为后代选择器无空格:交集选择器>:子代选择器,:并集选择器+:相邻兄弟选择器~:普通兄弟选择器

2019-09-16 21:45:50 686

原创 js this指向问题总结

通过搜索以及书籍查阅 不同地方对this对象的解释:this为函数调用时使用的上下文。this对象是运行时基于函数的执行环境绑定的this为当前作用域的对象实例1.普通函数: 谁调用我 我的this就指向谁2.箭头函数: 我在哪个函数 this就指向谁默认指向在定义它时所处的对象 而不是执行时的对象 箭头函数实际并没有自己的this对象,其内部的this自动指向外层代...

2019-09-10 00:10:41 176

原创 js数组常用方法总结(一)splice slice split(字符串方法)

split语法:split(separator,howmany) 功能:将一个字符串分割成字符串数组 返回值: 新数组 不改变原字符串let str = 'sky,cloud,wind'let strArr = str.split(',', 2) //只截取两个strArr:["sky", "cloud"]str:"sky,cloud,wind" // 未改变原字符串Sli...

2019-09-10 00:07:08 2093

原创 css浮动、浮动存在的问题、清除浮动

浮动作用:用来解决图片和文字排版问题 原理:浮动的框向左或右移动 直到它的边缘碰到包含框或另一个浮动框为止 特点 脱离文档流 浮动元素会自动生成一个块级框 而不论其本身是何种元素 浮动会使行内元素转化为块元素 其宽高属性起作用 fixed,absolute和float同样是脱离文档流但是前者不影响其他元素的正常布局,但float会影响其他元素布局,其他元素...

2019-05-05 23:35:17 372

原创 css居中总结

text-align: center; 实现水平居中 margin: 0 auto; 实现水平居中 display:table-cell;vertical-align:middle;实现垂直居中 父相子绝(position设置)实现水平垂直居中 弹性布局 (display: flex)实现水平垂直居中视情况选择不同的方式一:行内元素在父级元素内水平垂直居中行内元素水平居中:...

2019-05-05 13:21:42 119

原创 javascript数据类型、typeof和instanceof、null和undefined

目录javascript数据类型typeof 检测变量的数据类型instanceofnull&undefinedjavascript数据类型1.基本数据类型:字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol(ES6)。2.引用数据类型:对象(Object)、数组(Array)...

2019-05-05 12:10:13 432

空空如也

空空如也

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

TA关注的人

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