首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

switch(true)与if(true)返回的值不同(JavaScript)

在JavaScript中,switch语句和if语句都是条件语句,但它们返回的值是不同的。

  1. switch语句: switch语句根据表达式的值,将控制流转移到与值匹配的case语句。每个case语句后面可以跟着一段代码块,用于执行相应的操作。如果没有匹配的case语句,可以提供一个default语句作为备选方案。

switch语句本身并不返回任何值,它只是根据匹配的case语句执行相应的操作。因此,switch(true)不会返回任何值。

示例代码:

代码语言:txt
复制
let num = 2;
let result;

switch (true) {
  case num > 0:
    result = "正数";
    break;
  case num < 0:
    result = "负数";
    break;
  default:
    result = "零";
}

console.log(result); // 输出:正数

腾讯云相关产品和产品介绍链接地址:

  • 云函数(Serverless):https://cloud.tencent.com/product/scf
  • 云开发:https://cloud.tencent.com/product/tcb
  1. if语句: if语句根据条件的真假来执行相应的代码块。如果条件为真,则执行if语句块中的代码;如果条件为假,则跳过if语句块。

if语句本身也不返回任何值,它只是根据条件来执行相应的操作。因此,if(true)也不会返回任何值。

示例代码:

代码语言:txt
复制
let num = 2;
let result;

if (num > 0) {
  result = "正数";
} else if (num < 0) {
  result = "负数";
} else {
  result = "零";
}

console.log(result); // 输出:正数

腾讯云相关产品和产品介绍链接地址:

  • 云函数(Serverless):https://cloud.tencent.com/product/scf
  • 云开发:https://cloud.tencent.com/product/tcb

总结: switch(true)和if(true)都是根据条件来执行相应的操作,但它们本身并不返回任何值。在JavaScript中,switch语句用于多个可能值的情况下,而if语句用于对条件进行判断。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JavascriptReturn,Return false和Return true

Javascript返回 Javascript返回总共分为四类: return; return false; return true; return variable(变量); 这四种返回其实有很大不同...i为匿名函数function(){return;}返回,注意:在Javascript中函数都有返回,默认函数返回为undefined。...从代码输出结果可以看出,return;主要作用是阻止函数继续执行,直接返回undefined。 注:在Javascript中undefined == null,注意=====区别。...Javascripttrue == 1,true == '1',正常情况下,return true返回一个布尔,也可以阻止函数继续执行。...5. return variable return variable主要是在Javascript中定义一个变量,在函数中进行返回通常返回变量没有区别。

2.2K10

Java 里 for (;;) while (true),哪个更快?

在C语言里,如果不include某些头文件或者自己声明的话,是没有内建Bool / bool类型,也没有TRUE / FALSE / true / false这些Bool / bool类型字面量...顺带一提,在Java里我是倾向于写while (true),不过我也不介意别人在他们自己项目里写for (;;)。...---- 至于Java里while (true)for (;;)哪个“效率更高” 这种规范没有规定问题,答案都是“看实现”,毕竟实现只要保证语义符合规范就行了,而效率并不在规范管得着范畴内。...0: iconst_0 1: istore_1 2: iinc 1, 1 5: goto 2 */ ...后面到解释执行、JIT编译之类就不用说了,输入都一样,输出也不会不同。 转自 http://t.cn/E5gynuI

60220

奇怪知识增加了,如何让 (a == 1 && a == 2 && a == 3) 返回 true

a == 3 这个表达式返回 true ?。...让这个表达式成为 true 关键就在于这里宽松相等,js[3] 在处理宽松相等时会对一些变量进行隐式转换。在这种隐式转换作用下,真的可以让一个变量在一个表达式中变成不同。...从上图中我们可以看到,当操作数 B 类型为 Number 时,如果希望在宽松相等情况下整个表达式结果返回 true,操作数 A 必须满足下面三个条件之一: 操作数 A 类型为 String,并且调用...方法,在这个方法内部,我们每次增加另一个变量返回,就能够在这条表达式中使得 a 结果有不同。...当然,在 stackoverflow 中有人提出了另一种做法,在 a 变量前后用不同字符达到目的,原理就在于某些字符在肉眼条件下是不可见,所以虽然看起来都是 a ,但变量实际上不同,也能达到题目的要求

1K30

小心这个陷阱: 为什么JS中 every()对空数组总返回 true

在我理解中,我认为回调函数必须被调用并返回true , every() 才会返回 true ,但实际上并非如此。...这只能发生唯一原因是如果回调函数没有被调用,而 every() 默认true 。但是,为什么在没有来运行回调函数时,空数组会返回 true 给 every() 呢?...在数学和JavaScript“对所有”量词 MDN页面 提供了为什么 every() 会对空数组返回 true 答案: every 行为就像数学中“全称量词”。...用JavaScript术语来说,every() 对于一个空集合返回 true,因为没有办法调用回调函数。...回调函数代表要测试条件,如果由于数组中没有而无法执行它,那么 every() 必须返回 true

18520

怎么在a_boolTrue条件拼接a和a_1?

一、前言 前几天在Python钻石群有个叫【有点意思】粉丝问了一道关于pandas中字符串拼接问题,如下图所示。...实现过程 这里【月神】给了一份代码,如下所示: c2['a_new'] = c2['a'] + ('_' + c2['a_1']) * c2['a_bool'] 代码运行之后,结果如下图所示: 好牛逼解法...其实关于布尔用法解析,在之前文章中,我也有写过,Python中and和or,结果让人出乎意料之外,最开始是【小小明】大佬启蒙,之后【瑜亮老师】给我们启蒙,现在大家也都拓展了思路,下次遇到了,就可以多一个思路了...这篇文章主要盘点一个字符串拼接问题,借助布尔本身就是0和1规律,直接进行运算,拓展了粉丝思路!如果你还有其他方法,也欢迎大家积极尝试,一起学习,记得分享给我哦。...最后感谢粉丝【有点意思】提问,感谢【月神】在运行过程中给出思路和代码建议,感谢粉丝【dcpeng】等人参与学习交流。

61710

JavaScript:为什么3 + true = 4?(另外还有7个精妙等式)

3 + true === 4,想知道为什么吗?那就跟我一起来探索这8个有趣JavaScript等式吧。 ?...---- 3 + true == 4 我也没有开玩笑,在JavaScript中,当加号操作符放在number 和 boolean这两个类型之间时候,boolean类型将会转化成number类型...如果你还记得我之前JavaScript Showdown这篇文章,false == 0 和 true == 1,记得这个的话,3 + true 就转化成 3 + 1,然后我们就会得到4这个答案了。...当加号操作符放在两个booleans之间时候,这两个booleans都会转化成numbers类型,因此true + false 就转化成 1 + 0,然后我们就得到1这个答案了。...从这个逻辑看:'4' + 8 变成 '4' + '8' 然后我们就得到 '48'这个答案了 ---- true + ‘4’ 和上面的例子相似,JavaScript将会把boolean类型转化成string

64930

奇怪Java题:为什么128 == 128返回为false,而127 == 127会返回true?

奇怪Java题:为什么128 == 128返回为false,而127 == 127会返回true? 在回答这个问题之前,我们先来看看int和Integer对比,一步步揭开问题答案。...2. intInteger深入对比 注:对于引用类型变量,==操作符比较是两个引用是否指向同一个对象;对于基本类型变量,==操作符比较是两个变量是否相等。...,其内存地址不同 (2) Integer变量和int变量比较时,只要两个变量是相等,则结果为true。...,因为类字面值是不能通用,除了String。...如果超过128就会重新new一个新对象 解析原因: 归结于java对于Integerint自动装箱拆箱设计,是一种模式:叫享元模式(flyweight)。 1.

2.2K31

两个对象相同(x.equals(y) == true),但却可有不同hash code,这句话对不对?

不对,如果两个对象x和y满足x.equals(y) == true,它们哈希码(hash code)应当相同。...Java对于eqauls方法和hashCode方法是这样规定:(1)如果两个对象相同(equals方法返回true),那么它们hashCode一定要相同;(2)如果两个对象hashCode相同,...(x)必须返回true)、对称性(x.equals(y)返回true时,y.equals(x)也必须返回true)、传递性(x.equals(y)和y.equals(z)都返回true时,x.equals...(z)也必须返回true)和一致性(当x和y引用对象信息没有被修改时,多次调用x.equals(y)应该得到同样返回),而且对于任何非null引用x,x.equals(null)必须返回false...对于类中关键属性,检查参数传入对象属性是否之相匹配;4. 编写完equals方法后,问自己它是否满足对称性、传递性、一致性;5. 重写equals时总是要重写hashCode;6.

99920

面试官:你真的确定这个JS题中“x !== x”可以返回True吗?

在面试过程中,你有被问一些奇怪面试题经历吗?这些面试题常规问题不同:这些面试问题看起来很简单,但却考验你对 JavaScript 透彻理解,今天我将它们整理出来,看看你是否都能回答出来。...== x”可以返回true吗? 要输出“hello fatfish”,“x”应该是多少? const x = ? // Please fill in the value of "x?...是否存在不等于自身?然而,JavaScript 中有一个 NaN,它不等于任何,甚至不等于它本身。...== x) // true console.log(Number.isNaN(x)) // true 2. (!isNaN(x) && x !== x) 可以返回 true 吗?...这个问题可能并不容易,但只要你了解 JavaScript,你就会知道“Number.MAX_SAFE_INTEGER 常量代表 JavaScript最大安全整数 (²⁵³ — 1)”。

12630

大厂面试题分享:如何让(a===1&&a===2&&a===3)true?

其实我们重写了valueOf方法,不是一定调用valueOf()返回进行计算。...而是valueOf返回是基本数据类型时才会按照此进行计算,如果不是基本数据类型,则将使用toString()方法返回进行计算。...join()方法返回作为toString()返回,所以这题又多了一个新解法,就是在不复写toString()前提下,复写join()方法,把它变成shift()方法,它能让数组第一个元素从其中删除...,并返回第一个元素。...; } 我们探寻之路还没结束,细心同学会发现我们题目是如何让(a===1&&a===2&&a===3)true,但是上面都是讨论宽松相等==情况,在严格相等===情况下,上面的结果会不同

80620

对象返回

对象返回 说起函数,就不免要谈谈函数参数和返回。一般,我们习惯把函数看作一个处理封装(比如黑箱),而参数和返回一般对应着处理过程输入和输出。...然而,事物总有两面性,信息共享带来方便同时也带来了一定不安全性。我们这里并不讨论函数使用和设计,我们关注函数参数和返回传递方式。...函数带有返回时,若返回不大于4字节,则会把返回存储在eax寄存器中,而long long类型返回回保存在edx:eax寄存器中,double类型数据会被协处理器栈保存。...相对于内置类型参数传递和返回,对象返回可能更复杂一点。当然,如果使用对象引用或者指针作为参数传递和返回方式,这里和上述内置类型并无多大区别,因为指针总是4个字节。...x写入eax,然后返回而已。

2.5K80
领券