Я предполагаю, что создатели этой функции добавили эту ненужную кодировку только из-за простого невежества.Для экранирования косая черта не требуется .
Удивительно большое количество программистов, которых я знаю, так же плохо держат свои косые черты, как и весь остальной мир.И еще большее число действительно плохо справляются с кодированием и декодированием.
Обновление:
После некоторых поисков я наткнулся на это обсуждение .Хорошая мысль о том, что экранирование /
иногда необходимо для плохих анализаторов HTML.Однажды я столкнулся с проблемой, когда IE 6 неправильно обрабатывает контент, например:
<script>
var json = { scriptString: "<script> /* JavaScript here */ </script>" };
</script>
IE 6 видит </script>
внутри строки и слишком рано закрывает тег script.Таким образом, это более безопасно для IE 6 (хотя открывающий тег script в строке может также сломать вещи ... Я не могу вспомнить):
<script>
var json = { scriptString: "<script> \/* JavaScript here *\/ <\/script>" };
</script>
И они также говорят, что некоторые плохие парсеры увидят//
в http://
и относитесь к остальной части строки как к комментарию JavaScript.
Похоже, что это еще один случай захвата интернет-технологий из-за сбоя браузера.