首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
用户7080116808694
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
90
文章 84
沸点 6
赞
90
返回
|
搜索文章
赞
文章( 84 )
沸点( 6 )
JavaScript专题之递归
JavaScript 专题系列第十八篇,讲解递归和尾递归 定义 程序调用自身的编程技巧称为递归(recursion)。 阶乘 以阶乘为例: function factorial(n) { if (n == 1) return n; return n * factorial(n …
JavaScript专题之乱序
乱序的意思就是将数组打乱。 嗯,没有了,直接看代码吧。 Math.random() - 0.5 随机得到一个正数、负数或是 0,如果是正数则降序排列,如果是负数则升序排列,如果是 0 就不变,然后不断的升序或者降序,最终得到一个乱序的数组。 看似很美好的一个方案,实际上,效果却…
ES6 系列之 let 和 const
如果 condition 为 false,结果会是 undefined。 即便循环已经结束了,我们依然可以访问 i 的值。 为了加强对变量生命周期的控制,ECMAScript 6 引入了块级作用域。 块级声明用于声明在指定块的作用域之外无法访问的变量。 let 和 const …
ES6 系列之模板字符串
注意,在 li 标签中间多了一个逗号,这是因为当大括号中的值不是字符串时,会将其转为字符串,比如一个数组 [1, 2, 3] 就会被转为 1,2,3,逗号就是这样产生的。 实现原理很简单,拼合回去然后将多个空白符如换行符、空格等替换成一个空格。 如果使用这种匹配方式,sente…
ES6 系列之箭头函数
我们先来回顾下箭头函数的基本语法。 本篇我们重点比较一下箭头函数与普通函数。 箭头函数没有 this,所以需要通过查找作用域链来确定 this 的值。 这就意味着如果箭头函数被非箭头函数包含,this 绑定的就是最近一层非箭头函数的 this。 我们的需求是点击一个按钮,改变该…
ES6 系列之模拟实现 Symbol 类型
实际上,Symbol 的很多特性都无法模拟实现……所以先让我们回顾下有哪些特性,然后挑点能实现的……当然在看的过程中,你也可以思考这个特性是否能实现,如果可以实现,该如何实现。 ES6 引入了一种新的原始数据类型 Symbol,表示独一无二的值。 1. Symbol 值通过 S…
ES6 系列之迭代器与 for of
为了消除这种复杂度以及减少循环中的错误(比如错误使用其他循环中的变量),ES6 提供了迭代器和 for of 循环共同解决这个问题。 所谓迭代器,其实就是一个具有 next() 方法的对象,每次调用 next() 都会返回一个结果对象,该结果对象有两个属性,value 表示当前…
ES6 系列之模拟实现一个 Set 数据结构
ES6 提供了新的数据结构 Set。 它类似于数组,但是成员的值都是唯一的,没有重复的值。 Set 本身是一个构造函数,用来生成 Set 数据结构。 Set 函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。 add(value):添加…
ES6 系列之 WeakMap
我们先从 WeakMap 的特性说起,然后聊聊 WeakMap 的一些应用场景。 1. WeakMap 只接受对象作为键名 2. WeakMap 的键名所引用的对象是弱引用 翻译过来应该是 WeakMaps 保持了对键名所引用的对象的弱引用。 只有当我们手动设置 obj = n…
ES6 系列之我们来聊聊 Promise
Promise 的基本使用可以看阮一峰老师的 《ECMAScript 6 入门》。 我们来聊点其他的。 1. 回调嵌套 然而在实际的项目中,代码会更加杂乱,为了排查问题,我们需要绕过很多碍眼的内容,不断的在函数间进行跳转,使得排查问题的难度也在成倍增加。 当然之所以导致这个问题…
下一页
关注了
2
关注者
0
收藏集
0
关注标签
2
加入于
2021-12-28