JavaScript短路运算的实现_第1页
JavaScript短路运算的实现_第2页
JavaScript短路运算的实现_第3页
JavaScript短路运算的实现_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第JavaScript短路运算的实现目录由来和||也叫短路注意场景代码||真值短路,短路或||经常用来设置函数参数的默认值发生这次记录的项目代码结尾

由来

讲一下本篇的由来:刚刚启一个带有子服务的主服务:base项目上的代码,诉求是这样子的:子服务-端口号:8599需要从主服务-端口号:8001登录进入。主服务base有一个判断工作空间的配置,其他子服务无工作空间的业务,只有子服务-:8599有。正常情况下判断一下当前服务的routeBase,再合并一下基础配置:比如setting设置,lang语言,message子服务订阅的主服务的消息等等,和当前子服务的定制化设置,就实现了不同子服务的不同服务设置。但是我启动了好多次,启起来的总是主服务的base项目,启动不起来子服务-:8599brose

(先说一下:最后解决竟是因为缓存的原因,可把本猿搞得哭笑不得。但是这期间我竟对短路运算符起了疑心并做了修改的尝试,我也真是醉了,服了自己。那好吧,想着虽然短路运算那么常见,简单,却害的本猿调试怀疑了一会,这不行,我必须写一下)

最后在后面附上导致本猿调试半天的代码好了,先讲一下干干的知识点

和||也叫短路

短路:只要碰到了假值(false),就会短路,并返回该假值,只要短路,不会继续执行后面的表达式。短路||:只要碰到了真值(true),就会短路,并返回该真值,只要短路,不会继续执行后面的表达式。(一般用作默认值)

注意

注意:假值有以下6个:nullundefinedNaNfalse0

场景代码

console.log('abc'null);//null

console.log(null'abc');//null

console.log(nullundefined);//null

console.log(undefinednull);//undefined

||

console.log(true||false);//true

console.log(NaN||1);//1

console.log('abc'||123);//‘abc'

console.log(0||'');//''

console.log(''||'_brose_');//'_brose_'

真值短路,短路或||经常用来设置函数参数的默认值

functionadd(a,b){

//真值短路

//短路或||经常用来设置函数参数的默认值

a=a||0;

b=b||0;

console.log(a+b);

add();//0

add(1);//1

add(1,2);//3

add(100,200);//300

发生这次记录的项目代码

/*

*@Descripttion:头部的功能列表,不同项目根据routeBase,显示顶部设置配置

*@version:

*@Author:AnneWMZhang

*@Date:2025-05-2512:33:09

*@LastEditors:AnneWMZhang

*@LastEditTime:2025-06-1412:03:45

importconfigfrom'./config'

constprojectName=config.routeBase||'_brose_'

constcommon={

setting:true,

lang:true,

message:true

constsetting:Recordstring,any={

'_brose_':{

workSpace:true,

lang:false

'_pf_':{},

exportdefaultprojectNameObject.assign(setting[projectName],common):common

就是这句话,这么肯定的一句话:

(由于我是在主服务base上自己的分支本地开发跨域测试,所以在config.routeBase的后面加了一个短路运算||brose,为了本地跨域进入开发环境的_brose_:即本案例的子服务-端口号:8599,||brose并不会发到生产)

constprojectName=config.routeBase||'_brose_'

这段代码应该,而且在我本地跨域进入开发环境的_brose_子项目运行结果实际也是:

console.log(''||'_brose_');//'_brose_'

在我本地开发分支的情况下,config.routeBase值为空,也就是运算符的左半边为空,即假值是空,那么||就会取表达式后面的值即brose所以,这段代码毋庸置疑。我却去怀疑为什么没有启动brose,是因为这段代码没生效。结果竟然却是我上上次的浏览缓存还在base,没

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论