![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JS
文章平均质量分 63
一颗待收割的小白菜~
又菜又爱学。。。
展开
-
LeeCode 141—环形链表
????题目描述:给定一个链表,判断链表中是否有环????有环就返回true 没有就返回falsefunction hasCycle(head){const res = [];while(head !=null){ if(res.includes(head)){ return true } res.push(head); head = head.next}return false}分析:利用数组存储节点。判断数组中是否有此节点,有就返原创 2021-10-29 19:41:39 · 80 阅读 · 0 评论 -
求数组的最大值和最小值的四种方法
求数组中的最大值和最小值有很多种方法:????方法1:for循环找最大值;????方法2:先对数组排序(从大到小,或者从小到大)max/min = arr[length-1]????方法3:使用内置对象Math身上的max/min方法,注意这种方法传入的值是不是数组,而是一个接一个的元素,这时候应该想到 ES6中的解构数组 了????方法4:巧用apply方法,因为apply方法它在执行的时候,可以将传入的数组解析成一个一个的元素。代码验证:let arr = [23,1,33,6原创 2021-10-26 13:18:39 · 20169 阅读 · 0 评论 -
继承的概念以及原型和继承的关系
目录继承默认原型原型与继承的关系关于原型上的方法原型链的问题继承先看一个栗子:function SuperType(){ this.property = true //注意这个property不属于原型上的属性,会在它的实例对象身上}Demo1.prototype.getSuperValue = function(){ return this.property}function SubType(){ this.subproperty原创 2021-10-21 13:47:49 · 186 阅读 · 0 评论 -
创建对象的方式以及深入理解原型
使用Object 构造函数或对象字面量可以方便地创建对象-----这些方式具有很大的缺陷:创建具有同样接口的对各对象需要重复编写大量代码---------------------------------------------本节不讨论-------------------------------------------...原创 2021-10-19 13:46:17 · 133 阅读 · 0 评论 -
JS 之数据类型检测--四种方法
数据类型检测方式typeofconsole.log(typeof true) // Booleanconsole.log(typeof 2) //numberconsole.log(typeof 'abd') //stringconsole.log(typeof []) //objectconsole.log(typeof null) //objectconsole.log(typeof undefined) //undefined数组 对象 nul.原创 2021-10-16 10:46:23 · 53 阅读 · 0 评论 -
彻底搞懂事件循环机制
JS是单线程的,最大的特点是维持了事件循环事件循环的组成由主线程和任务队列任务队列分为宏任务和微任务执行顺序如下:主线程 > 微任务 > 宏任务<script>console.log('start');setTimeout(() => { console.log('children2'); Promise.resolve().then(() => { console.log('children3'); }.原创 2021-10-12 14:33:10 · 69 阅读 · 0 评论 -
JS重点总结(1)
dom模型,事件委托的优缺点事件委托就是:利用冒泡的原理,把事件添加到父元素上,委托它们父级代为执行事件优点:提高性能,减少内存,对于新添加的元素也会有之前的事件缺点:1. 事件委托基于冒泡,不冒泡的事件不支持2.层级过多,冒泡过程中可能被中间层阻止3.如果把所有事件都用事件委托,可能会出现事件误判,即不该触发事件的被绑定了0.1+0.2 = 0.3?0.1+0.2 = 0.30000000000000004首先浮点值的精确度最高可达17位小数两数相加时,会将两束转换成二原创 2021-10-04 13:57:04 · 77 阅读 · 0 评论 -
关于命令窗口的操作
一、用处操作系统的方式,我们在可以在电脑桌面上创建文件或者进入文件,这种可视化的操作,它的底层实现其实在命令窗口(小黑屏)中给出相关指令二、用法流程:1、打开命令行窗口 cmd-->回车2、输入指令:dir -->列出当前目录下的所有文件cd -->目录名 进入指定的目录 cd Desktop (表示要进入桌面这个文件夹) 我们可以发现有两行指令 -(表示当前目录) --(表示上一级目录)md --> ...原创 2021-10-02 16:39:33 · 802 阅读 · 0 评论 -
ES6 语法糖(一)
一、为什么要学习ES6?ES6是JavaScript的下一代标准,解决了es5中存在的问题。二、语法1、let constlet 1、只在所处的块级有效,而var 不具有块级作用域,防止循环变量变成全局变量, 2、不存在变量提升,只能先声明再使用 3、具有暂时性死区,不会在上一级中查找const 作用:用于声明变量,就是内存(地址)不变的量 具有块级作用域 使用时必...原创 2021-09-08 09:03:55 · 514 阅读 · 0 评论 -
递归以及深拷贝和浅拷贝
递归函数内部自己调用自己 递归函数必须有退出条件,否则会造成栈溢出数组操作-forEach()迭代遍历数组(加强版的for循环遍历) 用法:arry.forEach ( function(value, index, arr ) ) 其中 value 是数组里面的值,index 是该值的索引号 一句话:遍历该数组,得到值,对其进行操作数组操作-some()数组操作-filter()...原创 2021-07-26 20:24:38 · 473 阅读 · 0 评论 -
关于闭包和this 指向
有关闭包什么是闭包?定义官方定义:闭包 (closure) 指有权访问另一个函数作用域中变量的函数 。简单理解:闭包就是一个函数,这个函数能够访问另一个函数中的变量注意:被访问的这个变量所在的函数就是闭包函数作用最本质的作用就是:延申了变量的作用范围闭包的原理高阶函数闭包就是典型的高阶函数的用法,它内部返回的是一个函数主要实现原理要使用闭包函数中的局部变量,我们就在闭包函数中 ==return ==一个函数,再在外面调用就可这个局部变量不会立即销毁,因为内部还返回了函数,需要原创 2021-07-25 18:36:18 · 111 阅读 · 0 评论 -
如何实现弹出框的推拽效果?
这里写自定义目录标题弹出框的拖拽效果实现1、弹出框推拽的效果2、实现原理3、具体代码弹出框的拖拽效果实现1、弹出框推拽的效果我们在上网的时候,经常会遇到各种弹出框,我们可以通过鼠标移动这些弹出框,从而不影响我们的预览体验。具体来说,就是当鼠标按下并且开始移动弹出框,之后松开鼠标,弹出框就停止移动。这种效果主要使用到JS里用来获取盒子的位置、大小的offsetTop 和 offsetLeft系列。2、实现原理首先需要了解的是一些鼠标事件:mousedown: 鼠标按下mousemove:原创 2021-07-14 18:17:43 · 396 阅读 · 0 评论