JavaScript替换功能检查

时间:2013-09-11 10:27:09

标签: javascript

我正在做一个java脚本替换为:

var featureTitle;
featureTitle = row.cells[1].text();
if (!featureTitle.indexOf('*') != -1)
{
    featureTitle = featureTitle.replace('*', '');
}

if(!featureTitle.indexOf('*')!= -1)需要在这里查看?

或者替换会照顾它吗?

4 个答案:

答案 0 :(得分:0)

替换将在第一次出现'*'时起作用。如果没有,那么什么都不会被替换,因此不需要“if”

答案 1 :(得分:0)

以下是您引用的JSFiddle

if (!featureTitle.indexOf('*') != -1){...}

不是必须放置,您可以直接.replace()

var featureTitle;
featureTitle = row.cells[1].text();
featureTitle = featureTitle.replace('*', '');

答案 2 :(得分:0)

如果星号不存在,

replace将不执行任何操作,因此可以安全地在没有检查的情况下进行呼叫。

说到这一点,检查有一个错误,使整个代码行为不正确:

if (!featureTitle.indexOf('*') != -1) // what's that ! in front doing?

由于!featureTitle.indexOf('*')始终为truefalse,因此此条件将始终成功(两个布尔值均等于-1)。

答案 3 :(得分:0)

不需要if语句。我认为.replace()会处理它(如果*存在,它将替换它,否则没有动作)。如果要替换字符串中的所有*,请使用\g全局属性。

featureTitle = featureTitle.replace(/*/g,'');