在javascript中返回一个字符串

Posted

技术标签:

【中文标题】在javascript中返回一个字符串【英文标题】:return a string in javascript 【发布时间】:2016-10-27 21:59:15 【问题描述】:

我想通过 function 来检查一个数字是否是偶数并在 Javascript 中返回。这是我的代码。当 number 为偶数时它应该返回 true,否则它应该返回 false。

var isEven = function(number) 
    if(number%2 === 0) 
        return "true";
     else 
        return "false";
    
;

代码不起作用。相反,当 true 和 false 周围的引号 ("...") 被删除时,它会起作用。为什么?我的意思是 true 和 false 是字符串,因此应该包含在引号内。 请帮忙,

【问题讨论】:

truefalse 是布尔值,而不是字符串。 最简单的方法就是function isEven (num) return num % 2 === 0 【参考方案1】:

如果将truefalse 放在引号中,它将返回一个字符串值,因为"true" 是一个字符串,而true 不是。如果要返回布尔值,只需返回 truefalse

if(number % 2 === 0) return true;
else return false;

【讨论】:

【参考方案2】:

它应该可以工作:

var isEven = function(number) 
    return !Boolean(number % 2);
;

另外如何创建isOdd:

var isOdd = function(number) 
    return !isEven(number);
;

您不能为布尔值返回“true”的原因:

javascript 中标记“...”之间存在的所有内容都被识别为string 类型。这也适用于空字符串"",一些例子:

typeof("") => "string"
typeof("true") => "string"
typeof(true) => "boolean"

与其他语言比较你要注意的字符大小,fe:

typeof(TRUE) => "undefined" (because it could be name of variable)

另外: 考虑使用=====。示例:

"" == 0 => it's a true
"" === 0 => it's a false

内置Boolean函数的一些示例:

Boolean("") => false
Boolean("1") => true
Boolean("0") => true

【讨论】:

这里不需要使用Boolean。只需使用return !(number % 2);【参考方案3】:

你可以试试这样

var isEven = n => !(n%2);
console.log(isEven(1));
console.log(isEven(2));

【讨论】:

【参考方案4】:

您根本不需要if。只返回比较的结果

var isEven = function(number) 
   return number%2 === 0;
;

【讨论】:

以上是关于在javascript中返回一个字符串的主要内容,如果未能解决你的问题,请参考以下文章

Ajax全套

requests 返回 521

在 Javascript 中使用委托(使用 XMLHttpRequest AJAX 请求的示例)

javasc面向对象编程

JavaScript学习笔记

JavaScript数据类型