在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 是字符串,因此应该包含在引号内。 请帮忙,
【问题讨论】:
true
和 false
是布尔值,而不是字符串。
最简单的方法就是function isEven (num) return num % 2 === 0
。
【参考方案1】:
如果将true
和false
放在引号中,它将返回一个字符串值,因为"true"
是一个字符串,而true
不是。如果要返回布尔值,只需返回 true
或 false
。
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中返回一个字符串的主要内容,如果未能解决你的问题,请参考以下文章