请告诉我们以下代码行的含义
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
是什么
name.replace(/[\[]/, "\\[")
完整的功能如下
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
它被称为这样,
var getID = getParameterByName('getID');
答案 0 :(得分:7)
它只是通过将[
和]
分别转换为\[
和\]
来逃避。{/ p>
示例:
name = 'foo [bar] baz';
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
// name is now 'foo \[bar\] baz'