用eval()函数获取数组的长度?(getting the length of an array with eval()-function?)
为什么这不起作用:
var problem_0 = ["a","b","c","d"]; arrayname = "problem_0"; arraylength = eval([arrayname]).length; for (i = 0; i < arraylength; i++) {我正在尝试根据用户点击的内容检索不同的数组,所以我需要arrayname是一个字符串,我可以修改一个字符串宽度代码。 eval([arrayname])。length返回“1”。 为什么?
Why doesnt this work:
var problem_0 = ["a","b","c","d"]; arrayname = "problem_0"; arraylength = eval([arrayname]).length; for (i = 0; i < arraylength; i++) {I'm trying to retrieve different arrays depending on what the user click on, so i need arrayname to be a string, a string I can modify width a code. eval([arrayname]).length returns "1". Why?
最满意答案
如果数组具有全局范围,则无需使用eval 。
var problem_0 = ["a","b","c","d"]; arrayname = "problem_0"; alert(window[arrayname].length);你也可以用this
var a = [1,2]; var b = "a"; alert(this[b].length); //outputs 2No need to use eval if the array has a global scope.
var problem_0 = ["a","b","c","d"]; arrayname = "problem_0"; alert(window[arrayname].length);you can also use this
var a = [1,2]; var b = "a"; alert(this[b].length); //outputs 2更多推荐
发布评论