我正在做一个java脚本替换为:
var featureTitle;
featureTitle = row.cells[1].text();
if (!featureTitle.indexOf('*') != -1)
{
featureTitle = featureTitle.replace('*', '');
}
if (!featureTitle.indexOf('*') != -1)需要在这里检查吗?
或更换会照顾它?
我正在做一个java脚本替换为:
var featureTitle;
featureTitle = row.cells[1].text();
if (!featureTitle.indexOf('*') != -1)
{
featureTitle = featureTitle.replace('*', '');
}
if (!featureTitle.indexOf('*') != -1)需要在这里检查吗?
或更换会照顾它?
替换将在第一次出现“*”时起作用。如果没有,则不会替换任何内容,因此不需要“如果”
这是为您引用的JSFiddle
if (!featureTitle.indexOf('*') != -1){...}
不是强制放置的,可以.replace()
直接做
var featureTitle;
featureTitle = row.cells[1].text();
featureTitle = featureTitle.replace('*', '');
replace
如果星号不存在,则不会执行任何操作,因此在没有检查的情况下调用是安全的。
说到这一点,检查有一个错误,导致整个代码行为不正确:
if (!featureTitle.indexOf('*') != -1) // what's that ! in front doing?
因为!featureTitle.indexOf('*')
总是true
or false
,所以这个条件总是会成功(两个布尔值比较不等于-1
)。
不需要那个 if 语句。我认为 .replace() 会处理它(如果*
存在它将替换它,否则不采取行动)。如果要替换*
字符串中的所有内容,请使用\g
全局属性。
featureTitle = featureTitle.replace(/*/g,'');