- 博客(5)
- 收藏
- 关注
原创 解决yarn安装包后,文件名、目录名或卷标语法不正确
这个问题,我在网上找了无数方案,都是复制粘贴的文章,根本解决不了问题。先来分析一下我的情况,我是用 npm 安装的 yarn:npm i -g yarn我重新设定了 npm 的全局安装位置和缓存位置,如何查看:// 查看全局安装位置npm config get prefix // E:\Tools\node\node_global// 查看缓存位置npm config get c...
2019-10-31 13:34:03 7534 13
原创 对象详解(原型链、继承)
对象详解(原型链、继承)ECMA-262 把对象定义为:“无序属性的集合,其属性可以包含基本值、对象或者函数。” 我们可以把ECMAScript 的对象想象成散列表:无非就是一组名值对,其中值可以是数据或函数。1. 理解对象1.1 属性类型简而言之,就是描述对象属性的各种特征。属性类型分为两种:数据属性和访问器属性。一个属性只能为数据属性或访问器属性,也就是说如果一个描述符同时重新定义(...
2019-10-08 13:44:59 374
原创 apply、call和 bind 方法详解(含手写)
1. 三者的简单比较先看一个简单地例子:let person = { name: '张三', age: '20', say(arg1, arg2) { console.log(`我叫${this.name},年龄${this.age},喜欢${arg1}、${arg2}`); }}person.say('唱歌', '跳舞');let ad...
2019-09-24 13:38:26 744
原创 浅析函数柯里化与反柯里化
浅析函数柯里化与反柯里化1. 柯里化柯里化(Currying),又称部分求值(Partial Evaluation),可以理解为提前接收部分参数,延迟执行,不立即输出结果,而是返回一个接受剩余参数的函数。因为这样的特性,也被称为部分计算函数。柯里化,是一个逐步接收参数的过程。1.1 作用柯里化有3个常见作用:参数复用提前返回延迟计算/运行先看一个简单示例,实现 add(1)...
2019-09-16 11:31:45 980
原创 高阶函数的应用
高阶函数: 函数参数如果是函数,或者这个函数返回一个新的函数1. 高阶函数与AOPAOP(面相切面编程): 主要作用是把一些跟核心业务逻辑模块无关的功能抽离出来。例如:日志统计,异常处理等。把这些功能抽离出来后,通过"动态植入"的方法,掺入到业务逻辑模块中。这样做的好处是保证业务逻辑模块的纯净和高内聚,其次可以方便的复用日志统计等功能模块1.1 before(前置通知)function ...
2019-09-05 10:12:10 759
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人