string.indexOf(“*。”)在Javascript中做什么?

时间:2011-12-15 16:50:49

标签: javascript jquery

我正在调试一些代码并找到了以下代码片段,但却得不到它的作用:

function appendModelPrefix(value, prefix) {
    if (value.indexOf("*.") === 0) {
        value = value.replace("*.", prefix);
    }
    return value;
}

我的值字符串看起来像是通过if条件验证了什么? 什么是“*”。到底怎么办?我没有得到通配符......

6 个答案:

答案 0 :(得分:3)

我不是通配符。它会搜索并"*."

替换文字prefix

indexOf在字符串中找到"*."的第一个出现位置:

>>>"aaa*.".indexOf("*.")
3

如果字符串以“*”开头,那么你的信息就会成功。 (索引0)

>>> "*.aaa".indexOf("*.")
0

然后替换方法将替换第一次出现的“*”。使用所选前缀

>>> "*.*.".replace("*.", "z")
"z*."

顺便说一下,如果使用正则表达式而不是字符串模式,则只能获得通配符替换:

>>> 'abbbc'.replace(/b+/, 'z')
"azc"

答案 1 :(得分:2)

indexOf将给出字符串中文本的位置。

所以if语句读取value是否以“*”开头。然后将其替换为prefix

答案 2 :(得分:2)

如果字符串以子字符串*.开头,则将其替换为prefix

>>> "*.".indexOf('*.')
0
>>> "a*.".indexOf('*.')
1

答案 3 :(得分:1)

如果您的value*.开头,则它会将*.替换为prefix参数。

答案 4 :(得分:0)

javascript .indexOf()中没有通配符。

它只是将值*.替换为prefix

答案 5 :(得分:0)

如果value*.开头,则{@ 1}}替换为*.

中的字符串,这是一个香草字符串匹配
prefix