考核内容:javascript数据转换的方法!
题发散度: ★★
试题难度: ★★
解题思路:
js如何将字符串转为变量名,
如何解决呢?
以下方案可以提供给大家参考
有人说这个方法不安全,扫描漏洞会扫到的,但是实际上是可以使用的,效率问题是程序逻辑问题。对于一些有执行字符串代码需求的程序中,不用eval而用其他方式模拟反而会带来更大的开销。
var shuke={name:"es6",year:"2020"}
var str="shuke"
function foo(s){
return(eval(s))
}
foo(str)
var shuke={name:"es6",year:"2020"}
var str="shuke"
function foo(s){
switch(s){
case "shuke":
return shuke
}
}
foo(str)
var shuke={name:"es6",year:"2020"}
var str="shuke"
function foo(s){
return({[s]:shuke})
}
foo(str)
答案:
B, eval(str)