- 博客(13)
- 收藏
- 关注
原创 JavaScript学习之变量提升与函数提升
JavaScript学习之变量提升与函数提升变量提升ES6之前是没有块级作用域的(也就是 {} ),只有全局作用域和函数作用域,所以变量和函数的定义会提升到当前作用域顶部。例子1 function fn() { console.log( a ) var a = 10; console.log( a ) } fn()输出结果:![image.png](https://img-
2021-01-15 09:34:53 112
原创 JavaScript学习之call、apply、bind的理解与实现
JavaScript学习之call、apply、bind的理解与实现学习冴羽的JavaScript深入之call和apply的模拟实现和JavaScript深入之bind的模拟实现的笔记callfun.call(thisArg[,arg1[,arg2,…]]);call是属于所有Function的方法,也就是Function.prototype.call。call() 方法在使用一个指定的 this 值和若干个指定的参数值的前提下调用某个函数或方法。call() 方法可以指定若干个参数使
2021-01-15 08:48:33 108
原创 es6
EMAscript 6 新的jsconst 和 letlet const 和 var 的不同不能重复声明没有声明提升存在块级作用域内(作用域被定义在{}内)const 是声明常量的(不可更改), 常量的名字全部大写。let 声明变量的,可更改。const 定义的对象可以更改 const a={}原因:因为对象是引用类型的,因此a只保存了指针而不是保存的具体的值,所以内容可以改变指针发生变化 不可以const lvbu = { name: '吕布',
2020-11-23 10:13:07 117
原创 js中数组的reduce用法
js中数组的reduce用法reduce方法有些难理解,但是有时是真的很好用语法//arr.reduce(callback,intialValue)arr.reduce((pre,cur,index,arr)=>{},intialValue) //pre:上一次回调函数的返回值或初始值(方法执行最开始的时候是初始值),必有 //cur:当前元素,必有 //index:当前元素的下标,若有初始值第一次下标为0,否则为1,可选 //arr: 调用reduce方法的数组
2020-11-22 13:00:18 134
原创 深度优先查询、广度优先查询、扁平化数组变成树
深度优先查询、广度优先查询、扁平化数组变成树深度广度数据const arr = [ { id: 1, label: "一级 1", children: [ { id: 4, label: "二级 1-1", children: [ { id: 9,
2020-11-18 09:17:54 191
原创 promise&async
promise 和 async、awaitpromise 是同步的且自动执行的,但是可以用来解决异步执行顺序的,让异步执行有先后顺序的,来搞定异步执行后的操作的。意思就是假如有个异步操作,我想在异步操作之后进行下一步操作,可是js的顺序永远是先同步后 异步而且同步顺序执行,异步并发执行,这是就可以用到promise来确保执行的先后顺序有了Promise对象,就可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。此外,Promise对象提供统一的接口,使得控制异步操作更加容易 con
2020-11-09 14:22:22 84
原创 setTimeout()、process.nextTick()、setInterval() 运行机制
setTimeout()、process.nextTick()、setInterval() 运行机制setTimeout()setTimeout 执行是要等主线程执行完之后才会进行的,并且setTimeout是根据时间来顺序的执行,当一个setTimeout进行大量的计算,那么他就会阻塞在当前setTimeout的回调函数中,等待计算完毕,执行下一个setTimeout for (let index = 0; index < 10000; index++) { c
2020-11-09 14:20:56 432
原创 flex和grid实现响应式九宫格
响应式九宫格布局flex .wrap { width: 100%; height: 0; position: relative; padding-bottom: 100%; } .inner { position: absolute; top: 0; left: 0;
2020-11-04 17:39:35 304
原创 闭包
闭包闭包是能够读取其他函数内部变量的函数,通过return返回一个内部函数,内部函数中存着外部函数定义的局部变量在js中,在函数里定义的局部变量在函数外是不能读取的,只有在函数内部的子函数才可以使用,因此闭包就是为了解决这一点的。闭包两大用途:可以读取函数内部的变量让函数内部的变量保存在内存中 function fun1() { var n = 1; //这种写法自动定义成全局变量add,而function是fun1中的一个匿名函数,匿名函数被赋给
2020-11-04 17:00:45 705
原创 弹性布局flexbox
弹性布局 flexbox它能够扩展和收缩 flex 容器内的元素,以最大限度地填充可用空间。flex布局以后,子元素的float、clear、vertical-align属性会失效容器:设置display:flex的元素(父元素)轴线: 分横向和纵向,默认主轴线是横向项目:容器中的子元素不管项目是否有大小,默认项目大小总和不会超过容器的项目按容器的主轴线进行排序项目自动转为块元素,项目没有设置副轴高度,默认副轴高度和容器的高度一样项目副轴设大小超过容器的话会超出,主轴上不会容
2020-11-04 16:19:28 80
原创 BFC(块级格式化上下文)
BFC(块级格式化上下文)Formatting context(格式化上下文) 是 W3C CSS2.1 规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。首先 定位方案定位方案:控制元素的布局三种常见方案:普通流(normal flow),在普通流中,元素按照其在HTML的先后位置之上而下布局,在这个过程中,行内元素水平排列,当前行占满之后换行,块元素默认被渲染成一个完整的行,普通流中元素的位置有该元素在HTML文档中的
2020-10-08 22:48:04 197
原创 JS日常学习
闭包 04.29基础的一些算法学的七七八八了,开始学点别的东西。闭包: 函数中的函数,这个函数可以访问另一作用域的变量,以return 函数名终结 function fun1() { var n = 100; function fun2() { n++//这个n对于fun2()来说是'全局变量',其他作用...
2020-04-29 22:42:27 137
原创 JavaScript常见算法
每天努力进步一点点。04.26快速排序还没开始学习递归,尽力的理解了var arr = [1, 4, 3, 8, 9, 6, 2, 10, 20, 5] //left和right递归调用quickSort函数 function quickSort(newArr) { if (newArr.length <= 1) { ...
2020-04-28 11:00:35 186
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人