![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
javascript
javascript
迪迪归来仍少年
这个作者很懒,什么都没留下…
展开
-
Javascript 算法面试题
一、改造代码输出0-9?解析:因为javascript是单线程执行,只有执行完主线程的代码之后才会去执行异步函数里的宏任务清理掉,所以主线程里的i执行完以后已经是10了,执行到setTimeout的时候输出的都是10.(1)解析:利用 let 变量的特性 — 在每一次 for 循环的过程中,let 声明的变量会在当前的块级作用域里面(for 循环的 body 体,也即两个花括号之间的内容区域)创建一个文法环境(Lexical Environment),该环境里面包括了当前 fo...转载 2021-08-04 00:14:09 · 201 阅读 · 0 评论 -
Javascript(算法) 求整数数组中两数求和等于目标值target
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数示例:nums=[2,7,11,15],目标值target=9;因为nums[0]+nums[1]=2+7=9;所以返回[0,1]原创 2021-08-03 11:28:24 · 1306 阅读 · 0 评论 -
Javascript call(),apply(),bind() 方法解析
javaScript权威指南上的解释是:call() 、apply()可以看作是某个对象的方法,通过调用方法的形式来间接调用函数,bind() 就是将某个函数绑定到某个对象上。作用:这三个方法的作用都是改变函数的执行上下文!通俗点说,call()和apply()的作用就是把方法绑定到指定的对象下去执行示例:var demo1={name:"小可爱",sex:"男"}func...原创 2019-08-05 00:03:08 · 105 阅读 · 0 评论 -
Javascript 事件机制原理
一、事件捕获/冒泡事件捕获:事件捕获会由最先接收到事件的元素然后传向最里边(我们可以将元素想象成一个盒子装一个盒子,而不是一个积木堆积)事件冒泡:事件冒泡即由最具体的元素(文档嵌套最深节点)接收,然后逐步上传至document示例:我们点击一个span,我可能就想点击一个span,事实上他是先点击document,然后点击事件传递到span的,而且并不会在span停下,span有子元素就会继续往下,最后会依次回传至document。DOM事件:web端Dom事件分为三类:一类:do.转载 2021-08-02 15:29:03 · 451 阅读 · 0 评论 -
JavaScript之排序问题
一、冒泡排序实现原理:数组中有n个数,比较每相邻两个数,如果前者大于后者,就把两个数交换位置;这样一来,第一轮就可以选出一个最大的数放在最后面;那么经过n-1(数组的 length - 1) 轮,就完成了所有数的排序。执行完当前代码浏览器输出:可得出结论目前数组最后一位为数组中的最大值,那么我们这样循环list.length-1次就可以使得数组按从小到大的顺序排好。...原创 2021-07-26 18:33:20 · 229 阅读 · 0 评论 -
JavaScript之---函数闭包
一、什么是闭包?闭包就是能够读取其他函数内部变量的函数在javascript中,只有函数内部的子函数才能读取局部变量,所以说,闭包可以简单理解成“定义在一个函数内部的函数“在javascript语言中,函数内部可以直接读取全局变量,但是在函数外部无法读取函数内部的变量(在函数内部生命变量的时候一定要用var,如果不用的话,实际上声明的是全局变量)二、闭包原理function test1(){ var n =100;function test2(){...原创 2021-07-26 17:57:09 · 109 阅读 · 0 评论 -
Javascript实现一个简单的Promise
一、什么是Promise? Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了`Promise`对象. 所谓`Promise`,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise 提供统一的 API,各种异步操作都可以用同样的方法进行处理。二、Promi...原创 2021-07-24 16:10:03 · 579 阅读 · 1 评论 -
JavaScript实现数组的reduce方法
一、什么是数组的reduce方法?语法:arr.reduce(callback,initValue)reduce 为数组中的每一个元素依次执行回调函数callback,callback接收四个参数值callback(pre,cur,index,arr)pre:上一次调用返回的值,或者提供的初始值cur:数组中当前处理的元素index:数组中当前处理的元素的下标arr:调用reduce函数的数组下面通过一个例子具体说明:执行程序后浏览器输出从这里可以看...原创 2021-07-24 00:32:46 · 2057 阅读 · 1 评论 -
JavaScript (一)性能优化之防抖函数与节流函数
一、函数防抖当一个事件持续触发时,在设定的时间周期内没有再触发事件,事件处理函数才会执行一次。如果在设置的时间周期内又触发了事件,就重新开始延时。防抖原理:维护一个计时器,在设置的delayTime时间后触发函数,但是在delayTime时间内再次触发的话,就会清空之前的定时器,按当前时间重置定时器。所以,在规定时间段delayTime内只有最后一次操作能被触发。现在的情况是,我点击了几次按钮就执行了几次事件处理函数,但是这样会对服务器造成很大的压力,为了解决这中状况我们可以使用debo原创 2021-07-08 17:38:07 · 135 阅读 · 0 评论 -
数组去重的几种常用方法
1.Es6Set方法2.var arr = [{key: '01',value: '100'}, {key: '02',value: '200'}, {key: '03',value: '300'},{key: '04',value: '400'},{key: '01',value: '500'}];var newArr=[]; var obj={};arr.forEach(fu...原创 2019-04-10 14:20:50 · 180 阅读 · 0 评论