访问javascript中对象的转义属性
我有一个具有如下属性的对象:访问javascript中对象的转义属性,javascript,properties,escaping,Javascript,Properties,Escaping,我有一个具有如下属性的对象: var RouteMetaSet = { '\/user-management\/users': { path: '/user-management/users', name: 'User Management', iconClassList: ['fa', 'fa-user'], } }; console.log(RouteMetaSet['\/user-management\/users'])
var RouteMetaSet = {
'\/user-management\/users': {
path: '/user-management/users',
name: 'User Management',
iconClassList: ['fa', 'fa-user'],
}
};
console.log(RouteMetaSet['\/user-management\/users'])
我可以很容易地得到财产的价值,如下所示:
var RouteMetaSet = {
'\/user-management\/users': {
path: '/user-management/users',
name: 'User Management',
iconClassList: ['fa', 'fa-user'],
}
};
console.log(RouteMetaSet['\/user-management\/users'])
但是,如果我将键指定给一个变量,然后将它推到括号内,这是不可能的
var originialString = /user-management/users;
var escapedString = originialString.replace(/[-/<>*()?]/g, "\\$&"); // it should be "\/user-management\/users"
console.log(RouteMetaSet[escapedString]); // undefined
var originialString=/user management/users;
var escapedString=originialString.replace(/[-/*()?]/g,“\\$&”);//它应该是“\/user management\/users”
console.log(RouteMetaSet[escapedString]);//未定义
在这一点上我错了吗?首先。这:
var originialString=/user management/users
…只是语法错误
JS中的字符串文本必须被引用
下一步: 转义字符在JavaScript源代码中有意义 当JavaScript引擎解析字符串文本时,它将转换为字符串。在此过程中,转义字符将被使用 它们根本不是数据的一部分。如果使用正则表达式插入斜杠,则只需在字符串中插入斜杠(而不是转义序列)
var RouteMetaSet={
“\/user management\/users”:{
路径:'/user management/users',
名称:“用户管理”,
iconClassList:['fa','fa user'],
}
};
var originialString=“/user management/users”;
log(RouteMetaSet[originialString])代码>首先。这:
var originialString=/user management/users
…只是语法错误
JS中的字符串文本必须被引用
下一步:
转义字符在JavaScript源代码中有意义
当JavaScript引擎解析字符串文本时,它将转换为字符串。在此过程中,转义字符将被使用
它们根本不是数据的一部分。如果使用正则表达式插入斜杠,则只需在字符串中插入斜杠(而不是转义序列)
var RouteMetaSet={
“\/user management\/users”:{
路径:'/user management/users',
名称:“用户管理”,
iconClassList:['fa','fa user'],
}
};
var originialString=“/user management/users”;
log(RouteMetaSet[originialString])代码>