JS
秃八哥
这个作者很懒,什么都没留下…
展开
-
替换嵌套数组(树结构)某一对象
替换嵌套数组(树结构)某一对象原创 2022-06-10 12:05:42 · 309 阅读 · 1 评论 -
async/await到底是什么?怎么用?
async/awaitasync/await的优点1)方便级联调用:即调用依次发生的场景;2)同步代码编写方式: Promise使用then函数进行链式调用,一直点点点,是一种从左向右的横向写法;async/await从上到下,顺序执行,就像写同步代码一样,更符合代码编写习惯;3)多个参数传递: Promise的then函数只能传递一个参数,虽然可以通过包装成对象来传递多个参数,但是会导致传递冗余信息,频繁的解析又重新组合参数,比较麻烦;async/await没有这个限制,可以当做普通的局原创 2020-11-26 12:41:11 · 253 阅读 · 0 评论 -
函数中的this的四种绑定形式 — 大家准备好瓜子,我要讲故事啦~~
函数中的this的四种绑定形式 — 大家准备好瓜子,我要讲故事啦~~【故事】有一个年轻人叫"迪斯"(this),有一天,迪斯不小心穿越到一个叫 “伽瓦斯克利”(javascript)的 异世界,此时此刻迪斯身无分文, 他首先要做的事情就是——找到他的住宿的地方——调用函数的对象this的默认绑定【故事——线路1】如果迪斯(this)直到天黑前都没有找到能收留自己的住所,他眼看就要过上非洲难民的生活, 这时候,一位乐善好施的魔法师村长——window救世主一般地出现了:先住在我家吧!当一个函数没有原创 2020-11-29 20:44:42 · 282 阅读 · 0 评论 -
常用数组操作方法(未完待续)
常用数组操作方法一、concat()concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,仅会返回被连接数组的一个副本。var arr1 = [1,2,3];var arr2 = [4,5];var arr3 = arr1.concat(arr2);console.log(arr1); //[1, 2, 3]console.log(arr3); //[1, 2, 3, 4, 5]二、join()join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔原创 2020-11-30 19:45:04 · 259 阅读 · 0 评论 -
JS函数基础题合集(未完待续)
JS函数基础题合集(未完待续)JS函數基礎題合集(1)1、利用函數的方法求1~100的累加和2、利用函數求任意兩個數的和(例如:1,2)3、利用函數求任意兩個數的最大值4、利用函數求一個數組[5,2,99,101,67,77]中的最大值5、利用函數求兩個數的加減乘除6、利用函數去除數組中的重複項7、利用函數實現簡單計算器8、利用函數輸出三個數的最大值並彈出9、利用函数翻转数组10、利用函數冒泡排序11、 利用函數判斷是否是閏年12、利用函數輸出某年份2月的天數(函數相互調用)JS函數基礎題合集(1)1、原创 2020-07-22 17:11:19 · 1133 阅读 · 1 评论 -
js中关于setTimeout异步的思考
js中关于setTimeout的思考首先看看下面的代码会打印出什么? for(var i =0;i<5;i++){ setTimeout(function(){ console.log(i); },1000); }控制台在一秒后输出5次5这里和浏览器的事件队列和事件循环机制有关系。也就是说,setTimeout是一个宏任务,它在事件队列里排在了script标签这个宏任务的后面。浏览器会先执行第一个宏任务,也就是读取scri原创 2020-11-28 10:45:43 · 415 阅读 · 0 评论 -
正则表达式完整总结,收藏起来
正则表达式完整总结,收藏起来1. 概述正则表达式(regular expression)是一种表达文本模式(即字符串结构)的方法。创建方式有两种方式:一种是使用字面量,以斜杠表示开始和结束。var regex = /xyz/另一种是使用RegExp构造函数。var regex = new RegExp('xyz'); 它们的主要区别是,第一种方法在引擎编译代码时,就会新建正则表达式,第二种方法在运行时新建正则表达式,所以前者的效率较高。而且,前者比较便利和直观,所以实际应用中,基本上都采原创 2020-11-30 19:21:57 · 707 阅读 · 0 评论 -
ES6小结(未完待续···)
ES6小结一、ES6简介1、什么是ES6?2、为什么使用ES6?二、ES6新增语法1、let2、const3、var、let、const的区别4、解构赋值5、箭头函数6、剩余参数三、ES6 的内置对象扩展1、Array 的扩展方法2、String 的扩展方法一、ES6简介1、什么是ES6?ES 的全称是 ECMAScript , 它是由 ECMA 国际标准化组织,制定的一项脚本语言的标准化规范。ES6 实际上是一个泛指,泛指 ES2015 及后续的版本。2、为什么使用ES6?每一次标准的诞生原创 2020-07-24 13:52:09 · 422 阅读 · 1 评论 -
关于闭包的思考
闭包如何产生闭包?2个函数嵌套内部函数引用了外部函数内的局部变量执行外部函数闭包是什么?包含了那个局部变量的容器它被内部函数对象引用着闭包的作用?延长局部变量的生命周期使函数外部可以多次间接操作到函数内部的数据闭包应用?循环遍历加监听IIFE定义模块jQuery内部代码演示: function fn1 () { var a = 2 function fn2 () { a++ consol原创 2020-11-26 11:12:16 · 70 阅读 · 0 评论 -
JS小案例总结(JS基础案例)
JS小案例总结JS小案例总结案例一:JS实现tab选项卡功能案例二:JS实现盒子拖拽功能案例三:JS实现导航条吸顶效果案例四:JS实现图片懒加载结构案例五:JS实现简易弹幕功能案例六:JS实现自动滚动新闻列表JS小案例总结案例一:JS实现tab选项卡功能描述:纯原生js实现选项卡切换的效果,即当鼠标移入某个选项卡区域时,显示不同的内容。HTML代码如下:<body> <div id="tabs"> <div id="options">原创 2020-08-08 09:50:17 · 8381 阅读 · 5 评论 -
JS入门必备基础知识(适合小白)
JS入门必备基础知识(适合小白)一、JS是什么?1、JS简介2、JS的组成部分3、JS的基本特点4、JS的特性5、JS与HTML、CSS的对比二、JS的用法1、JS的引入方法1)head中的 JavaScript 函数2)body中的 JavaScript 函数3)外部的 JavaScript2、JS的基本语法3、JS中的变量1)变量名2)变量值3)全局变量与局部变量4、数据类型1)基本数据类型2)引用数据类型3) JS的数据类型转换4)typeof 操作符5、JS代码在执行时分两个阶段1)预编译2)代码执原创 2020-07-17 19:45:23 · 14672 阅读 · 11 评论 -
聊一聊JS的立即调用函数
聊一聊JS的IIFE定义IIFE: Immediately Invoked Function Expression,意为立即调用的函数表达式,也就是说,声明函数的同时立即调用这个函数。对比一下,这是不采用IIFE时的函数声明和函数调用:function foo(){ var a = 10; console.log(a);} foo();下面是IIFE形式的函数调用:(function foo(){ var a = 10; console.log(a);})();函数原创 2020-11-30 18:44:30 · 144 阅读 · 0 评论 -
回流和重绘
回流和重绘浏览器的渲染过程本文先从浏览器的渲染过程来从头到尾的讲解一下回流重绘,如果大家想直接看如何减少回流和重绘,可以跳到后面。从上面这个图上,我们可以看到,浏览器渲染过程如下:解析HTML,生成DOM树,解析CSS,生成CSSOM树将DOM树和CSSOM树结合,生成渲染树(Render Tree)Layout(回流):根据生成的渲染树,进行回流(Layout),得到节点的几何信息(位置,大小)Painting(重绘):根据渲染树以及回流得到的几何信息,得到节点的绝对像素原创 2020-11-30 21:47:54 · 167 阅读 · 0 评论 -
跨域问题的思考
跨域问题的思考什么是跨域?首先我们需要知道什么是跨域,跨域指的是浏览器不能执行其它网站的脚本,它是由浏览器的同源策略造成的,是浏览器对JavaScript 施加的安全限制。协议,域名,端口,三者有一不一样,就是跨域如何解决跨域问题JSONP JSONP是JSON with Padding的略称。它是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域访问(这仅仅是JSONP简单的实现形式)。response 添加原创 2020-11-28 17:47:47 · 106 阅读 · 0 评论 -
ES6新增新操作数组的方法
ES6新增新操作数组的方法1、find():传入一个回调函数,找到数组中符合当前搜索规则的第一个元素,返回它,并且终止搜索。const arr = [1, "2", 3, 3, "2"]console.log(arr.find(n => typeof n === "number")) // 12、findIndex():传入一个回调函数,找到数组中符合当前搜索规则的第一个元素,返回它的下标,终止搜索。const arr = [1, "2", 3, 3, "2"]console.log原创 2020-11-30 19:49:29 · 2640 阅读 · 0 评论