Есть ли более рациональный способ заменить все косые черты с помощью javascript, чем этот?

#javascript

#javascript

Вопрос:

 var input = '/string/';
var output = input.replace(///g,'');
// requested output = 'string';
  

Что мне не нравится в этом методе, так это то, что двойные косые черты могут рассматриваться как комментарий и игнорироваться некоторыми браузерами, или я ошибаюсь?

Это работает в моем браузере, но я не могу протестировать в каждом браузере. Это совершенно правильный метод или есть лучшее решение?

Комментарии:

1. Если какой-либо браузер рассматривает ///g как комментарий, то его анализатор JavaScript сильно поврежден.

2. это будет работать в каждом браузере, который поддерживает javascript с регулярным выражением. Все, что находится между двумя косыми чертами без кавычек, будет обрабатываться как регулярное выражение.

3. Я тоже так думаю, синтаксис регулярных выражений не должен быть проблемой.

Ответ №1:

Что мне не нравится в этом методе, так это то, что двойные косые черты могут рассматриваться как комментарий и игнорироваться некоторыми браузерами

Какие двойные косые черты? Те, что в регулярном выражении? Конечно, нет, если только анализатор JavaScript браузера не полностью сломан.

Это совершенно правильный метод

ДА.

Ответ №2:

Это правильный способ выполнить замену. Двойные косые черты не будут интерпретироваться как комментарий любым производственным браузером; эта форма регулярного выражения является действительной частью EMCAScript.

Ответ №3:

Все должно быть в порядке, но если вы действительно обеспокоены, используйте RegExp объект, например

 var re = new RegExp("/", "g");
var output = input.replace(re, '');
  

Ответ №4:

Да, синтаксис правильный. Это будет работать с любым движком JavaScript.