概述
高阶函数的使用思路正在于此,他其实是一个封装公共逻辑的过程。
假设我们正在做一个音乐项目,很显然,在进入这个项目的每一个页面时,都必须判断当前用户是否已经登录。因为登录与未登录所展示的页面肯定是有很多差别的。不仅如此,在确认用户登录之后,还需要得到用户的具体信息,如昵称,姓名,vip等级,权限范围等。
为了强化模块化思维,我们继续使用模块化的方式来完成这个demo。根据现有的知识,我们可以利用自执行函数来划分模块。
首先需要一个高阶函数来专门处理获取用户状态的逻辑,因此可以单独将这个高阶函数封装为一个独立的模块
// 高阶函数 withLogin ,用来判断当前用户状态
(function() {
var getLogin = function() {
var parseInt(Math.random() * 10).toFixed(0);
if(a%2==0){
return { login: false };
}
return {
login: true,
userinfo: {
nickname: 'jake',
vip: 11
userid: '666'
}
}
}
var withLogin = function(basicFn){
var loginInfo = getLogin();
// 将loginInfo以参数的形式传入基础函数中
return basicFn.bind(null, loginInfo);
}
window.withLogin = withLogin;
})()
假设我们要展示主页,则可以通过renderIndex的方法来渲染,当然,渲染主页仍然是一个独立的函数模块。
(function() {
v
最后
以上就是孝顺衬衫为你收集整理的js系列二十二:封装公共逻辑的过程的全部内容,希望文章能够帮你解决js系列二十二:封装公共逻辑的过程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复