javascript - 如果前一个字符串为真,则返回假,否则为真 - javascript

标签 javascript function if-statement boolean

因此,如果我想在函数内的字符串值的 true 和 false 之间交替,我该怎么做呢?我知道它与标题相似,但不确定如何将第一部分放入实际的 javascript 中。

function tfAlternate(s) {

}

所以让我们说 s = "hello"

如果前一个字符串为真(在本例中没有前一个字符串)返回假,否则返回真。

所以 s 为真。

但是如果 s = "goodbye" 现在我希望它是 false 如果它遵循 if 语句因为 s 以前是 true .

那么我应该如何将它写成 if 语句呢?

希望这是有道理的,并提前致谢。

最佳答案

您好!

如果我没理解错的话,你需要一个接受字符串作为输入的函数;并返回先前接受的字符串的 boolean 反转。如果没有前一个字符串,就好像前一个字符串是假的,从而使输出为真。

我同意@CD.. 和@Felix King。您需要跟踪前一个字符串。

但是我建议不要在函数本身上使用全局变量或属性,而是使用闭包:

var tfAlternate = (function () {
    var previousStr = null;     // False value, for no previous string.
    return function (s) {
        var ans = !previousStr; // Negate previous string. 
        previousStr = s;        // Current string is the next previous string.
        return ans;             // Return negated previous string.
    };
}());

将上面的代码粘贴到浏览器的控制台;并在试驾时使用它:

tfAlternate("Hello");   // true,  because !null is true
tfAlternate("goodbye"); // false, because !"Hello" is false
tfAlternate("foo");     // false, because !"goodbye" is false
tfAlternate("");        // false, because !"foo" is false
tfAlternate("bar");     // true,  because !"" is true
tfAlternate("baz");     // false, because !"bar" is false

希望这对您有所帮助。

PS:这个问题我觉得很有意思。但是,它的措辞并不明确。如果我对问题的解释是正确的,请告诉我;我将编辑问题以提高清晰度。

关于javascript - 如果前一个字符串为真,则返回假,否则为真 - javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33724234/

相关文章:

php - 如何使用 PHP 的 mail() 函数发送电子邮件

java - Java 编译器是否消除了 getters 的函数调用?

java - 如何或可以概括多个 JButton 的 If 语句(颜色更改)?

mysql - 将条件作为 IF 语句的结果应用于 MySQL

javascript - 循环遍历angularjs中的嵌套指令

javascript - 在javascript函数中更改文档背景图像

javascript - 使用云函数和实时数据库通过链接 Promise 顺序读/写数据库

vba - 检查字符串中 a-z 的函数

arrays - 如何在unix中找到数组中的最后一个元素?

javascript - 选择菜单的替代方法