javascript进阶
用于整合javascript进阶知识
天空之蓝钻
这个作者很懒,什么都没留下…
展开
-
vue-router 使用name跳转时,404失效的问题
使用name跳转的时候,如果路由表中没有找到对应的name的时候,并不会跳转到404页面,例如下面的代码: gotoUserCenter() { this.$router.push({ name: 'userCenterPage' }) },当name:“userCenterPage”不存在于路由表中时就会跳转到一个空白页面,而并不会跳转到404页面,其实是因为vue-router没有对这种情况做什么处理:当前网上的应对方案是1. 不使用name来跳转 2. 在守原创 2021-09-26 10:55:23 · 4408 阅读 · 2 评论 -
纯函数学习 (一)什么是纯函数
纯函数学习 (一)什么是纯函数1.前言:纯函数的定义是这样的:纯函数是这样一种函数,即相同的输入,永远会得到相同的输出,而且没有任何可观察的副作用。所以我们可以看出纯函数的定义:相同输入必定能得出相同输出。函数执行过程中没有任何副作用。下面让我们来围绕这两点来学习纯函数。2.辨认纯函数纯函数和非纯函数的辨认是很难的,写的时候我们就会会出现疑惑导致出现错误,这里我将举个例子...原创 2019-03-20 23:23:50 · 866 阅读 · 0 评论 -
Thunkify实现自执行函数
Thunkify实现自执行函数1.前言:我们经常会有一些异步转同步的需求,比如链式执行就在很多插件中使用,而插件中的代码即可能是同步的也可能是异步的情况,所以我们需要提供一个函数能够:顺序执行。中间步骤控制。异步/同步一致化处理。这就是自执行函数的功能,自执行函数的作用是将generator函数转换为同步化顺序执行的函数。2.实现代码: function th...原创 2019-01-31 21:52:03 · 301 阅读 · 0 评论 -
[javascript 进阶]实现深拷贝的几种方法
1. 前言这几天估计是嗑书嗑疯了,晚上死活睡不着估计神经衰弱,今天就不做react-native专栏了。正好前几天面试被问到深拷贝的问题,今天就做个专栏讨论吧。2.深拷贝的几个实现方式:1. JSON实现方式这个是大家都知道的一种方式,不过它有三点问题:var obj = { name:"foo", fun:function(){}, obj:obj, age:undefined...原创 2019-03-06 16:45:46 · 249 阅读 · 0 评论 -
Thunk函数
Thunk函数1.前言最早的thunk函数起源来自于“传值调用”(call by value) 和“传名调用”(call by name)之争。对于: let x = 1; function fn(m){ return m*2; } fn(x+1);传值调用的主张:fn(x+1)==fn(2);//执行前就进行计算传名调用的主张...原创 2019-02-23 15:03:59 · 1581 阅读 · 0 评论 -
curry函数(柯里化)
curry函数(柯里化)1.curry函数curry化是一切的基础,curry化是为了解决函数式编程时遇到的状态转换时需要的单参数需求。不过现在很多时候也用于延时执行,和插件编写。柯里化实际上是这样的一个转换过程:把接受多个参数的函数变换成接受一个单一参数(译注:最初函数的第一个参数)的函数,如果其他的参数是必要的,返回接受余下的参数且返回结果的新函数。2.使用场景<!DO...原创 2019-01-30 01:41:16 · 1926 阅读 · 1 评论