首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

你还在写if else 吗?更优雅写法来了

“ 关注 前端开发社区 ,回复 '领取资源',免费领取Vue,小程序,Node Js,前端开发用插件以及面试视频等学习资料,让我们一起学习,一起进步 作者:前端炮哥 前提 我们编写js代码时经常遇到复杂逻辑判断情况...,通常大家可以用if/else或者switch来实现多个条件判断,但这样会有个问题,随着逻辑复杂度增加,代码中if/else/switch会变得越来越臃肿,越来越看不懂,那么如何更优雅写判断逻辑,...:将判断条件作为对象属性名,将处理逻辑作为对象属性值,在按钮点击时候,通过对象属性查找方式来进行逻辑判断,这种写法特别适合一元条件判断情况。...原谅我又用了if/else,因为我看到很多人依然在用if/else写这种大段逻辑判断。...总结 本文已经教你了8种逻辑判断写法,包括: if/else switch 一元判断时:存到Object里 一元判断时:存到Map里 多元判断时:将condition拼接成字符串存到Object里 多元判断时

1.7K20

策略模式+元注解方式替代大量if else写法

策略模式包括如下角色: Context :环境类 Strategy:抽象策略类 ConcreteStrategy:具体策略类 策略模式和状态模式常用于处理业务比较繁杂场景,因为业务经常变更...,有时候随着业务堆积,会出现大量if…else,造成代码可读性变差,所以可以使用策略模式和状态模式等设计模式进行业务解耦,提高代码可读性 2、典型例子实现 业务场景:提供一个统一页面,嵌套各个子系统...SysTypeEnum.SYS_APPR_CONTROL.getType().equals(type) ) { viewName = "login/yzsCA"; } else...SysTypeEnum.SYS_APPR_UNION_CONTROL.getType().equals(type) ) { viewName = "login/ydblCA"; } else...modelAndView.setViewName(viewName); return modelAndView; } 然后,和现场沟通,发现还要增加系统,业务也要增加,所以就要增加if…else

78230

干掉 if else 辣,Java8 判空新写法

在文章开头,先说下NPE问题,NPE问题就是,我们在开发中经常碰到NullPointerException.假设我们有两个类,他们UML类图如下图所示 在这种情况下,有如下代码 user.getAddress...().getProvince(); 这种写法,在user为null时,是有可能报NullPointerException异常。...为了解决这个问题,于是采用下面的写法 if(user!=null){ Address address = user.getAddress(); if(address!...=null){ String province = address.getProvince(); } } 这种写法是比较丑陋,为了避免上述丑陋写法,让丑陋设计变得优雅。...JAVA8提供了Optional类来优化这种写法,接下来正文部分进行详细说明 其他例子,不一一列举了。不过采用这种链式编程,虽然代码优雅了。

72720

JS通用模块写法

模块化这个问题并非一开始就存在,WWW 刚刚问世时候,html,JavaScript,CSS(JS 和 CSS 都是后来在网景被引进浏览器)都是极其简单存在,不需要模块化。...在 ES6 以前,JS 语言没有模块化,如何让 JS 不止运行在浏览器,且能更有效管理代码, 于是应运而生 CommonJS 这种规范,定义了三个全局变量: require,exports,module...require 用于引入一个模块 exports 对外暴露模块接口,可以是任何类型 module 是这个模块本身对象 用 require 引入时获取是这个模块对外暴露接口(exports) Node.js...== "undefined" && typeof exports === "object") { module.exports = factory; } else if (typeof define...=== "function" && (define.cmd || define.amd)) { define(factory); } else { global.factory =

2K10

js中(function(){})()写法用处

以前看到老师写js单例模式时疑惑为什么要这么写 var singleton = (function () { var privateVariable; function privateFunction...中(function(){…})()立即执行函数写法理解,终于了解了。...来来来,首先嘛,JS中函数有两种命名方式 1、一种是声明式。 而声明式会导致函数提升,function会被解释器优先编译。即我们用声明式写函数,可以在任何区域声明,不会影响我们调用。...function XXX(){}1 2、一种是函数表达式 函数表达式我们经常使用,而函数表达式中function则不会出现函数提升。而是JS解释器逐行解释,到了这一句才会解释。...fn1(); function fn1(){}//可以正常调用 fn2(); var fn2 = function(){}//无法调用 OK,下面进入正题,对函数表达式加上(),是可以直接调用 但是如果是对声明式后部加上

3.4K00

js书写原生ajax,JS 原生ajax写法

= new XMLHttpRequest(); } else { xhr = new ActiveXObject(‘Microsoft.XMLHTTP’); } //>>step2.使用open方法设置和服务器交互信息...: console.log(xhr.responseText); } else { // 失败,根据响应码判断失败原因: console.log(xhr.status); } } else {...// HTTP请求还在继续… } } JS原生ajax 原文链接:http://caibaojian.com/ajax-jsonp.html 一.JS原生ajax ajax:一种请求数据方式,不需要刷新整个页面...原生ajax 主要复习了phppdo数据库操作,和jsajax,真麻烦,希望jqueryajax简单点. index.php: 1 2 [代码]JS原生Ajax&comma...;GET和POST javascript/jsajaxGET请求: Jquery学习笔记(10)–ajax删除用户,使用了js原生ajax 主要复习了phppdo数据库操作,和jsajax,真麻烦

15.3K40
领券