3 回答
TA贡献1877条经验 获得超1个赞
你返回的是字符串并不是js可以执行的代码要做一些转换
var WEBAPICONSTANT = {
WEBAPI: {
URL: "1111111111"
}
}
var str = "WEBAPICONSTANT.WEBAPI.URL + '/ssologin/login?m=SBYHMOD_03'";
console.log(str)//WEBAPICONSTANT.WEBAPI.URL + '/ssologin/login?m=SBYHMOD_03'
//理由eval转换
console.log(eval(str))//1111111111/ssologin/login?m=SBYHMOD_03
//理由new Function转换
var func = new Function("return " + str);
console.log(func())//1111111111/ssologin/login?m=SBYHMOD_03
不过一般都是这样
var WEBAPICONSTANT = {
a:"aaaa",
b:"bbbb"
}
var str = "a";
console.log(WEBAPICONSTANT[str])//aaaa
TA贡献1818条经验 获得超8个赞
<script>
var WEBAPICONSTANT = {
WEBAPI: {
URL: 'test'
}
};
var getName = 'WEBAPICONSTANT.WEBAPI.URL';
console.log(eval(getName)); // test
//当然,还可以这样
function abc (str) {
str = str.split('.');
var result = window;
for(var a=0;a<str.length; a++) {
result = result[str[a]];
}
return result;
}
console.log(abc(getName)); // test
</script>
上面都说了两种了,我再来一种
添加回答
举报