摘要:
使用sass模块编译scss文件 通常我们在项目中使用sass/scss都可以使用loader来处理,但是如果我只是简单的想用sass做一个静态页面,并不想要更多的配置内容,这时可以这么办: 我们需要一个html文件,一个scss文件夹 然后初始化package.json npm init -y 安 阅读全文
摘要:
什么是块级作用域?js中有块级作用域吗? 块级作用域,指代码中用括起来的范围,如下代码所示: // if语句 if(true){ console.log('block') } // for语句 for(var i =0;i<10;i++){ consolo.log(i) } 在es2015之前,是没 阅读全文
摘要:
Promise模拟,尝试手写Promise 思考 Promise通过new Promise((resolve,reject)=>) 使用,并通常会传入一个函数,这个函数有两个参数,一个是resolve,一个是reject,resolve应该是一个可以解决事情的函数,reject应该是一个当事情解决失 阅读全文
摘要:
webpack怎么配置source maps? module.exports = { devtool: 'eval-source-map',//配置生成Source Maps,选择合适的选项 entry: __dirname + "/app/main.js", output: { path: __d 阅读全文
摘要:
Promise 为了解决回调函数经常出现的回调地狱问题,CommonJS社区提出了Promise的规范,最终在es2015中被标准化,成为语言规范 Promise用来表示一个异步任务最终是成功还是失败,像是对任务作出的承诺,许下这个承诺后,任务进入到pending状态,等待承诺的兑现,然后等承诺兑现 阅读全文
摘要:
什么是函数组合? 把细粒度的函数组合成一个新的函数 组合函数有什么用? 假设有一个数组,我们要先翻转数组,再获取数组中的第一个元素,然后把这个元素转化成大写字母 var arr=["a","b","c"] var upperChar = toUpper(getFirstChar(reverseArr 阅读全文
摘要:
柯里化 当一个函数有多个参数的时候,先传递一部分参数调用它(这部分参数以后将不会再发生变化),然后返回一个新的函数接收剩余的参数,这个函数返回结果 示例 // _lodash 中的curry函数 const _ = require('lodash') function getSum(a,b,c){ 阅读全文
摘要:
什么是纯函数? 纯函数:相同的输入永远会得到相同的输出,而且没有任何可观察的副作用 // 纯函数slice和不纯函数splice let array=[1,3,6,8] //slice不改原数组,第次输出结果是一样的,是纯函数 console.log(array.slice(0,3)) consol 阅读全文
摘要:
闭包 闭包:延长函数内部属性的作用域范围 本质:函数在执行的时候会放到一个执行栈上,当函数执行完毕后,会从执行栈上移除,但是堆上的作用域成员因为被外部引用而不能释放,因此内部函数依然可以访问函数的成员 // once函数中使用到闭包 function once(fn){ let done = fal 阅读全文
摘要:
高阶函数 高阶函数(Hiner-order function),可以把函数作为参数传递给另一个函数,也可以把函数作为另一个函数的返回结果 // 函数作为参数 function forEach(array,fn){ for(let i = 0; i < array.length; i++){ fn(a 阅读全文