iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >在JS中避免过多的使用IF语句方法有哪些
  • 421
分享到

在JS中避免过多的使用IF语句方法有哪些

2024-04-02 19:04:59 421人浏览 独家记忆
摘要

本篇内容主要讲解“在js中避免过多的使用IF语句方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在JS中避免过多的使用IF语句方法有哪些”吧!1. 三元

本篇内容主要讲解“在js中避免过多的使用IF语句方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在JS中避免过多的使用IF语句方法有哪些”吧!

1. 三元运算符

(1) 事例1

带有IF的代码:

function saveCustomer(customer) {   if (isCustomerValid(customer)) {     database.save(customer)   } else {     alert('customer is invalid')   } }

重构后代码:

function saveCustomer(customer) {   return isCustomerValid(customer)     ? database.save(customer)     : alert('customer is invalid') }

使用 es6

const saveCustomer = customer =>    isCustomerValid(customer)?      database.save(customer) : alert('customer is invalid')

(2) 事例2

带有IF的代码:

 function customerValidation(customer) {    if (!customer.email) {      return error('email is require')    } else if (!customer.login) {     return error('login is required')    } else if (!customer.name) {      return error('name is required')    } else {      return customer   } }

重构后代码:

const customercustomerValidation = customer =>   !customer.email   ? error('email is required')   : !customer.login ? error('login is required')   : !customer.name  ? error('name is required')                     : customer

(3) 事例3

带有IF的代码:

 function getEventTarget(evt) {      if (!evt) {          evt = window.event;      }      if (!evt) {          return;      }      const target;      if (evt.target) {         target = evt.target;     } else {         target = evt.srcElement;     }     return target; }

重构后代码:

function getEventTarget(evt) {   evtevt = evt || window.event;   return evt && (evt.target || evt.srcElement); }

2. 短路运算符

(1) 事例1

带有IF的代码:

 const isOnline = true;  const makeReservation= ()=>{};  const user = {      name:'Damian',      age:32,      dni:33295000  };    if (isOnline){     makeReservation(user); }

重构后代码:

const isOnline = true; const makeReservation= ()=>{}; const user = {     name:'Damian',     age:32,     dni:33295000 };  isOnline&&makeReservation(user);

(2) 事例2

带有IF的代码:

 const active = true;  const loan = {      uuid:123456,      ammount:10,      requestedBy:'rick'  };    const sendMoney = ()=>{};   if (active&&loan){     sendMoney(); }

重构后代码:

const active = true; const loan = {     uuid:123456,     ammount:10,     requestedBy:'rick' };  const sendMoney = ()=>{};  ctive && loan && sendMoney();

3. 函数委托

事例1

带有IF的代码:

function itemDropped(item, location) {     if (!item) {         return false;     } else if (outOfBounds(location) {         var error = outOfBounds;         server.notify(item, error);         items.resetAll();         return false;     } else {        animatecanvas();        server.notify(item, location);        return true;    }

重构后代码:

 function itemDropped(item, location) {      const dropOut = function() {          server.notify(item, outOfBounds);         items.resetAll();          return false;      }       const dropIn = function() {          server.notify(item, location);         animateCanvas();         return true;     }      return !!item && (outOfBounds(location) ? dropOut() : dropIn()); }

4. 非分支策略

此技巧尝试避免使用switch语句,相反是用键/值创建一个映射并使用一个函数访问作为参数传递的键的值。

(1) 事例1

带有switch的代码:

 switch(breed){      case 'border':        return 'Border Collies are Good boys and girls.';        break;        case 'pitbull':        return 'Pit Bulls are good boys and girls.';        break;        case 'german':        return 'German Shepherds are good boys and girls.';       break;     default:       return 'Im default' }

重构后代码:

const dogSwitch = (breed) =>({   "border": "Border Collies are good boys and girls.",   "pitbull": "Pit Bulls are good boys and girls.",   "german": "German Shepherds are good boys and girls.",   })[breed]||'Im the default';   dogSwitch("border xxx")

5. 作为数据的函数

我们知道在JS中函数是第一个类,所以使用它我们可以把代码分割成一个函数对象。

带有IF的代码:

 const calc = {      run: function(op, n1, n2) {          const result;          if (op == "add") {              result = n1 + n2;          } else if (op == "sub" ) {              result = n1 - n2;          } else if (op == "mult" ) {              result = n1 * n2;         } else if (op == "div" ) {             result = n1 / n2;         }         return result;     } }  calc.run("sub", 5, 3); //2

重构后代码:

 const calc = {      add : function(a,b) {          return a + b;      },      sub : function(a,b) {          return a - b;      },      mult : function(a,b) {          return a * b;     },     div : function(a,b) {         return a / b;     },     run: function(fn, a, b) {         return fn && fn(a,b);     } }  calc.run(calc.mult, 7, 4); //28

6. 多态性

多态性是对象具有多种形式的能力。OOP中多态性最常见的用法是使用父类引用来引用子类对象。

带有IF的代码:

 const bob = {    name:'Bob',    salary:1000,    job_type:'DEVELOPER'  };    const mary = {    name:'Mary',    salary:1000,   job_type:'QA' };  const calc = (person) =>{      if (people.job_type==='DEVELOPER')         return person.salary+9000*0.10;      if (people.job_type==='QA')         return person.salary+1000*0.60; }  console.log('Salary',calc(bob)); console.log('Salary',calc(mary));

重构后代码:

 const qaSalary  = (base) => base+9000*0.10;  const devSalary = (base) => base+1000*0.60;    //Add function to the object.  const bob = {    name:'Bob',    salary:1000,    job_type:'DEVELOPER',    calc: devSalary };  const mary = {   name:'Mary',   salary:1000,   job_type:'QA',   calc: qaSalary };  console.log('Salary',bob.calc(bob.salary)); console.log('Salary',mary.calc(mary.salary));

到此,相信大家对“在JS中避免过多的使用IF语句方法有哪些”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 在JS中避免过多的使用IF语句方法有哪些

本文链接: https://www.lsjlt.com/news/85126.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 在JS中避免过多的使用IF语句方法有哪些
    本篇内容主要讲解“在JS中避免过多的使用IF语句方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在JS中避免过多的使用IF语句方法有哪些”吧!1. 三元...
    99+
    2024-04-02
  • js中if语句的使用方法
    这篇文章主要讲解了“js中if语句的使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“js中if语句的使用方法”吧!if 语句是使用最频繁的语句之一,语法如下:if (cond...
    99+
    2023-06-20
  • shell中if语句的用法有哪些
    在shell中,if语句主要用来进行条件判断。常见的if语句用法包括:1. 基本用法:```bashif conditionthen...
    99+
    2023-09-13
    shell
  • MySQL中if语句的使用方法
    这篇文章将为大家详细讲解有关MySQL中if语句的使用方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Mysql的if既可以作为表达式用,也可在存储过程中作为流程控制语...
    99+
    2024-04-02
  • Python中的 if 语句及使用方法
    目录一、 条件测试1.比较字符串相等或不相等2.比较数字3.检查多个条件4.检查特定值是否在列表中二、if 语句1.简单的if语句2. if-else 语句3. if-elif-el...
    99+
    2024-04-02
  • 在Linux系统中Shell脚本使用if语句的方法
    这篇文章主要讲解了“在Linux系统中Shell脚本使用if语句的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在Linux系统中Shell脚本使用if语句的方法”吧!Bourne Sh...
    99+
    2023-06-13
  • C语言case语句使用的方法有哪些
    C语言case语句可以使用的方法有:1. switch语句中使用case语句:在switch语句中使用case语句可以根据不同的条件...
    99+
    2023-06-14
    case语句
  • update语句的基本使用方法有哪些
    1. 修改单个列的值:```sqlUPDATE 表名 SET 列名=新值 WHERE 条件;```示例:```sql...
    99+
    2023-06-13
    update语句
  • LINQ to SQL语句的使用方法有哪些
    这篇文章主要介绍“LINQ to SQL语句的使用方法有哪些”,在日常操作中,相信很多人在LINQ to SQL语句的使用方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”LINQ to SQL语句的使...
    99+
    2023-06-17
  • C语言中switch语句基本使用的方法有哪些
    今天小编给大家分享一下C语言中switch语句基本使用的方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。switch...
    99+
    2023-07-05
  • 在Ext.JS应用程序中应该避免的开发方法有哪些
    这篇文章给大家分享的是有关在Ext.JS应用程序中应该避免的开发方法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1. 过多或不必要的组件嵌套开发人员最常见的错误之一是没理...
    99+
    2024-04-02
  • insert语句的基本使用方法有哪些
    插入语句的基本使用方法如下:1. 插入单行数据:```INSERT INTO table_name (column1, column...
    99+
    2023-06-14
    insert语句
  • Java中避免出现死锁的方法有哪些
    今天就跟大家聊聊有关Java中避免出现死锁的方法有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。避免死锁的技术:加锁顺序加锁时限死锁检测加锁顺序当多个线程需要相同的一些锁,但是按...
    99+
    2023-05-31
    java 死锁 ava
  • 在 MySQL 中使用 SELECT 语句替换空值有哪些不同的方法?
    有很多选项可用于使用 select 语句替换 NULL 值。您可以使用 CASE 语句或 IFNULL() 或 COALESCE()情况 1 - 使用 IFNULL()IFNULL( 的语法)如下 -SELECT IFNULL(y...
    99+
    2023-10-22
  • C语言select语句的基本使用方法有哪些
    C语言中的select语句是一种条件判断语句,用于根据不同的条件执行不同的操作。它的基本使用方法如下:1.基本语法```select...
    99+
    2023-06-14
    select语句
  • 掌握PHP Switch语句的高级技巧:避免使用Break的方法
    掌握PHP Switch语句的高级技巧:避免使用Break的方法 PHP中的Switch语句是一种常用的流程控制语句,通常用于根据不同的条件执行不同的代码块。在Switch语句中,大多...
    99+
    2024-04-02
  • mysql中的语句注释方法有哪些
    这篇文章给大家分享的是有关mysql中的语句注释方法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 mysql> SELECT 1+1;&...
    99+
    2024-04-02
  • sql语句中join的用法有哪些
    在SQL中,JOIN用于将两个或多个表中的行基于其关联列的值组合在一起。以下是常见的JOIN类型:1. 内连接(INNER JOIN...
    99+
    2023-08-08
    sql join
  • MySQL常用SQL语句在MongoDB中的写法有哪些
    MySQL常用SQL语句在MongoDB中的写法有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  如果你长期使用MySQ...
    99+
    2024-04-02
  • JS解构的使用方法有哪些
    这篇文章主要介绍“JS解构的使用方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JS解构的使用方法有哪些”文章能帮助大家解决问题。1. 交换变量(Swap variables)交换2个变量的...
    99+
    2023-07-04
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作