javascript - 在 JavaScript 中正确使用 IndexOf

标签 javascript indexof

我有一个简单的 JavaScript 语句,它读取一个字符串并根据它包含的内容触发一个 URL,但我不确定我是否正确使用了 IndexOf 所以我只是想检查。

这是我的代码片段:

<script type="text/javascript"> 

var mc_u1 = "somevariable";

if (mc_u1.indexOf("1|Accept") > 0) {
document.writeln("<img src=\"https://www.someurl1.com\">");
}

if (mc_u1.indexOf("1|Refer") > 0) {
document.writeln("<img src=\"https://www.someurl2.com\">");

}

if (mc_u1.indexOf("2|Accept") > 0) {
document.writeln("<img src=\"https://www.someurl3.com\">");

}

if (mc_u1.indexOf("2|Refer") > 0) {
document.writeln("<img src=\"www.someurl4.com\">");

}

</script>

正如您从上面的代码中看到的,我正在尝试做的是基于变量 mc_u1 的内容触发一个 URL(虽然我只是屏蔽了它们,但它们是不同的出于显而易见的原因)。

我的问题是,如果 mc_u1 变量以 say 1|Accept 开头,我应该在 Javascript 语句中使用 > -1 还是> 0

希望这是有道理的!

最佳答案

来自 MDN :

string.indexOf(searchValue[, fromIndex])

Returns the index within the calling String object of the first occurrence of the specified value, starting the search at fromIndex, returns -1 if the value is not found.

因此,为了检查您的变量是否以 "1|Accept" 开头,您应该检查 indexOf 是否返回 0

关于javascript - 在 JavaScript 中正确使用 IndexOf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10682602/

相关文章:

javascript - getBoundingClientRect 根据滚动位置动态变化?

javascript - 从对象内部的函数访问 this 而无需回调?

javascript - jQuery:从 HTML 页面获取所有链接,除非该链接属于特定类或 ID

javascript - 如何在javascript中获取数组中元素的第二个索引?

string - 返回特定子字符串的所有索引

javascript - indexOf ("http") 匹配 http 和 https

javascript - 为什么许多 javascript 示例仍然使用 'var' 而不是 'const' 和 'let' ?

javascript - 如何更改 ag-grid 单元格的颜色以动态更改数据

javascript - indexOf,向上搜索字符串而不是向下搜索

javascript - 在字符串包含键/值的字符串中查找 Javascript 值