日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

JS小知識(shí),使用這六個(gè)小技巧,避免過多的使用 IF 語句

來源: 責(zé)編: 時(shí)間:2024-02-01 12:51:47 285觀看
導(dǎo)讀這些優(yōu)化技巧將防止我們?cè)?JavaScript 中過多地使用 IF 語句最近在重構(gòu)我的代碼時(shí),我注意到早期的代碼使用了太多的 if 語句,達(dá)到了我以前從未見過的程度。這就是為什么我認(rèn)為分享這些可以幫助我們避免使用過多 if 語句

4tE28資訊網(wǎng)——每日最新資訊28at.com

這些優(yōu)化技巧將防止我們?cè)?JavaScript 中過多地使用 IF 語句4tE28資訊網(wǎng)——每日最新資訊28at.com

最近在重構(gòu)我的代碼時(shí),我注意到早期的代碼使用了太多的 if 語句,達(dá)到了我以前從未見過的程度。這就是為什么我認(rèn)為分享這些可以幫助我們避免使用過多 if 語句的簡(jiǎn)單技巧很重要。4tE28資訊網(wǎng)——每日最新資訊28at.com

接下來我們介紹 6 種使用 if 的方法。這不是抵制使用if的偏執(zhí),也不是不讓大家以后不要用IF了,而是換一種方式來思考我們的編碼思路。4tE28資訊網(wǎng)——每日最新資訊28at.com

1、條件運(yùn)算符

(1)例子1:

使用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  }}

重構(gòu)代碼:

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

(2)例子2:

使用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;}

重構(gòu)代碼:

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

2、&&邏輯運(yùn)算符

(1)例子1:

使用IF

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

重構(gòu)代碼:

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();}

重構(gòu)代碼:

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

3、Function Delegation

使用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;    }}

重構(gòu)代碼:

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、非分支策略

使用Case:

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'}

重構(gòu)代碼:

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、函數(shù)對(duì)象

我們知道在 JS 中函數(shù)是尤其重要,所以使用它,我們也可以將代碼拆分成一個(gè)函數(shù)對(duì)象。如下面一個(gè)改造示例4tE28資訊網(wǎng)——每日最新資訊28at.com

使用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

重構(gòu)代碼:

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、多態(tài)性

多態(tài)性是一個(gè)對(duì)象具有多種形式的能力。 OOP 中多態(tài)性最常見的用法是使用父類引用來引用子類對(duì)象。4tE28資訊網(wǎng)——每日最新資訊28at.com

使用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));

重構(gòu)代碼:

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));

結(jié)束

今天的分享就到這里,這6個(gè)小技巧,是不是很棒呢,你怎么看呢?4tE28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-70464-0.htmlJS小知識(shí),使用這六個(gè)小技巧,避免過多的使用 IF 語句

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 18個(gè)JavaScript技巧:編寫簡(jiǎn)潔高效的代碼

下一篇: 在 Create React App 中使用 TypeScript,你學(xué)會(huì)了嗎?

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
久久久久久久97| 国产综合久久| 久久久噜噜噜久久| 久久成人羞羞网站| 久久精品一二三区| 久久久国产精品一区二区三区| 欧美一区二区视频在线观看| 欧美一区二区三区久久精品| 欧美一区二区三区四区高清| 久久成人精品| 久久亚洲色图| 欧美xxxx在线观看| 欧美日本在线播放| 欧美日韩日韩| 国产精品欧美一区喷水| 国产欧美一区二区三区另类精品| 国产一区91| 亚洲第一黄色| 99精品久久久| 亚洲综合国产| 久久精品亚洲一区二区| 久久久久久婷| 久久在线免费视频| 欧美精品性视频| 欧美性片在线观看| 国产一区二区按摩在线观看| 亚洲电影在线| 亚洲国产精品久久久久婷婷884| 亚洲黄色免费| 亚洲欧美综合精品久久成人| 久久精品国产久精国产思思| 欧美二区在线观看| 国产精品久久久久久久久久久久| 国产精品视频久久一区| 国产精品久久久久久超碰 | 美国成人直播| 欧美视频导航| 国内精品久久久久久影视8| 亚洲伦理精品| 欧美专区18| 免费试看一区| 国产精品一卡二| 欧美理论大片| 亚洲已满18点击进入久久 | 午夜一级久久| 欧美高清免费| 国产欧美日韩另类一区| 亚洲激情在线播放| 欧美亚洲视频在线看网址| 欧美激情自拍| 国产亚洲欧美日韩精品| 亚洲美女在线看| 久久精品日产第一区二区三区| 欧美日韩国产色综合一二三四| 国产一区二区三区丝袜| 亚洲视频第一页| 欧美mv日韩mv亚洲| 国产亚洲a∨片在线观看| 亚洲人成在线观看| 久久精品视频播放| 国产精品免费看| 亚洲精品一区在线| 久久综合色天天久久综合图片| 国产精品久久久久久福利一牛影视| 在线日韩中文字幕| 欧美一区日本一区韩国一区| 欧美午夜精品久久久久久超碰| 1769国内精品视频在线播放| 欧美有码在线观看视频| 欧美性色综合| 亚洲美女精品久久| 看片网站欧美日韩| 国产视频自拍一区| 亚洲自拍啪啪| 欧美三级在线视频| 亚洲激情二区| 免费看精品久久片| 狠狠综合久久av一区二区小说| 午夜精品福利视频| 国产精品欧美久久久久无广告| 99re热这里只有精品免费视频| 女生裸体视频一区二区三区| 国产一区二三区| 翔田千里一区二区| 欧美成人精品h版在线观看| 精品成人乱色一区二区| 久久国产精品久久久久久| 国产伦精品一区二区三区免费 | 欧美日韩国产在线看| 亚洲国产免费| 另类亚洲自拍| 樱桃成人精品视频在线播放| 久久aⅴ乱码一区二区三区| 国产精品美女久久福利网站| 在线视频欧美日韩| 欧美日韩一区在线| av成人手机在线| 欧美日韩不卡在线| av成人免费在线| 欧美日韩日本国产亚洲在线| 日韩亚洲在线观看| 欧美日韩国产大片| 一本色道久久综合亚洲精品不| 欧美日韩国产精品| 在线亚洲国产精品网站| 欧美三日本三级三级在线播放| 99伊人成综合| 欧美精品在线观看播放| 一区二区三区日韩| 国产精品国产a级| 午夜精品久久一牛影视| 国产欧美日韩另类视频免费观看| 久久国产成人| 激情国产一区二区| 欧美aaaaaaaa牛牛影院| 亚洲精品一区二区三区99| 欧美乱妇高清无乱码| av成人激情| 国产精品入口66mio| 欧美一区2区视频在线观看| 国产亚洲激情视频在线| 久久午夜精品一区二区| 亚洲黄色在线| 欧美国产精品日韩| 99视频精品全部免费在线| 国产精品www| 欧美在线你懂的| 国产综合色一区二区三区| 午夜国产精品影院在线观看| 国产美女在线精品免费观看| 宅男精品导航| 欧美精品一卡二卡| 亚洲砖区区免费| 黄色成人av在线| 欧美精品高清视频| 亚洲制服av| 韩国精品主播一区二区在线观看| 欧美va天堂| 一区二区三区精品在线| 国产欧亚日韩视频| 麻豆久久婷婷| 国产精品99久久久久久有的能看| 国产欧美日韩中文字幕在线| 另类综合日韩欧美亚洲| 一区二区国产日产| 国产一区二区三区久久久| 免费亚洲电影在线| 亚洲午夜久久久久久久久电影院| 国产精品午夜av在线| 欧美搞黄网站| 亚洲欧美韩国| 亚洲黄色在线看| 国产欧美短视频| 欧美激情亚洲激情| 亚洲免费在线电影| 亚洲国产经典视频| 国产精品素人视频| 欧美高清在线观看| 欧美一区二区在线播放| 亚洲三级观看| 国产亚洲精品久久久久动| 欧美激情第一页xxx| 亚洲视频在线一区| 欧美了一区在线观看| 亚洲一区二区在线观看视频| 亚洲国产aⅴ天堂久久| 国产精品久久久久久一区二区三区 | 国产精品久久一区主播| 久久综合久久88| 亚洲小说区图片区| 亚洲成色精品| 国产日韩精品综合网站| 欧美日韩高清在线播放| 久久精品视频亚洲| 亚洲图片欧美午夜| 亚洲人成网站777色婷婷| 国产亚洲网站| 国产精品乱码| 欧美激情视频给我| 久久久久成人精品| 亚洲欧美视频一区| 一区二区激情视频| 亚洲国产片色| 一区视频在线| 国产精品自拍一区| 欧美日韩一二三四五区| 蜜桃av一区二区在线观看| 亚洲欧美日韩国产一区| 日韩一区二区电影网| 亚洲第一精品福利| 合欧美一区二区三区| 国产精品亚洲综合久久| 欧美日韩免费观看一区三区| 美女尤物久久精品| 久久av一区二区| 亚洲专区欧美专区| 国内视频一区| 国产午夜精品福利| 国产精品久久国产三级国电话系列| 欧美福利在线观看| 久久综合电影| 久久精品成人| 午夜精品婷婷| 亚洲欧美综合|