纯函数是计算机里的一个概念。怎样的函数才叫“纯函数”?它需要满足如下条件:①不会修改输入参数或函数作用域以外的程序状态②对于同样的参数,总是返回同样的结果,不管它被调用多少次。它的求值不依赖任何外界的状态,也不产生任何新的状态,这样的函数,...
map:array2 = array.map( v => v + 1 )可以写成array2 = array.reduce((...
我们可以用slice来将伪数组转化成数组。array = Array.prototype.slice.call(arrayLike)或array = [].slice.call(arrayLi...
下面代码的运行结果是?const foo = { bar: 10, fn: functio...
随便写一个时间复杂度为O(1)的代码:let i = 0;i += 1;上述代码比较简单,就两行。首先声明一个变量叫i,初始化值为0,然后让i自增1。那么,这两行代码的时间复杂度为什么是...
算法是解决一个特定问题所需要的步骤(一系列清晰的指令),就像食谱。数据结构是什么?如果说数据结构是存储、组织数据的方式,这样就太不通俗了。数据结构是帮助实现各种算法所需要用到的容器,就像锅碗瓢盆,用来装东西以及操作东西的。这个东西就是“数据...
可能有的人会说,异步是同时做两件事,但其实JS引擎不会这样。JavaScript的世界里只有一个线程,没有同时做两件事的能力。比方说setTimeout,setTimeout里面的代码一定会在当前环境中的任务执行完了之后才执行。(setIn...
下面是个异步代码:var taskAsync = function() { var result = setTimeout(function()...
什么样的代码属于异步代码?单从表象上来说,异步代码的书写顺序与执行顺序不同。console.log(1)setTimeout(function() { console.log(2)}, ...
刚学js的时候,我们会经常用到==。但这种写法是不推荐使用的。因为,x==y在对比x和y的值之前,会进行类型转换。而类型转换的规则是很难记的。false == 0 // true下图...