Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript中的字符串比较_Javascript - Fatal编程技术网

JavaScript中的字符串比较

JavaScript中的字符串比较,javascript,Javascript,有人能帮我在JavaScript中做字符串比较吗(意思不是字符串对字符串,值是从对象中提取的,存储在变量中,比较变量对变量,变量对变量) var val = findObject(":text1").text; var real = findObject(":text2").text; if (real.search(val) > 0) // if(real.indextOf(val) > -1) { test.log("Pass");

有人能帮我在JavaScript中做字符串比较吗(意思不是字符串对字符串,值是从对象中提取的,存储在变量中,比较变量对变量,变量对变量)

    var val = findObject(":text1").text;
    var real = findObject(":text2").text;
    if (real.search(val) > 0) // if(real.indextOf(val) > -1) {
        test.log("Pass");
    }
    else {
        test.log("fail");
    }

您应该能够通过使用
==
操作符来实现这一点

var val = findObject(":text1").text;
var real = findObject(":text2").text;
if (real === val) // if(real.indextOf(val) > -1)
{
    test.log("Pass");
}
else
{
    test.log("fail");
}

==
运算符执行值和类型检查

只需按如下方式比较它们

if (val === real){
}
else 
{
}

如果您知道这两种类型都是字符串,您也可以使用“==”而不是“==”

通过以下方式检查完全相同的值:

  • 仅比较值时

    ==

  • 比较值和类型时

    ===

  • 当您想检查y是否是x字符串中的子字符串时

    x、 指数of(y)>-1

  • 我建议在比较之前对输入进行微调(如果这不会影响业务逻辑的话)。 像这样:


    这将删除所有不必要的空格和白色字符,有时可能会造成麻烦。

    可以使用
    =
    ==
    运算符检查是否相等。你说的“比较”是指相等性检查吗?我已经试过了,但它不起作用,因为它希望对象执行字符串操作。请尝试:-如果(val.valuOf()==real.valuOf())嗨,谢谢你的评论!在这里,它也不工作,因为它期望字符串对象大于variable。那么,您能更详细地向我们解释这个问题吗?您询问过比较两个字符串文字,它们的来源无关紧要,它们仍然是字符串。您想检查real是否等于val yes?如果没有,请解释并更新您的问题。嗨,在我将变量转换为字符串对象后,它现在正在工作。
    var val = findObject(":text1").text.trim();