javascript - 为什么不能按变量名打印内容?

查看:74
本文介绍了javascript - 为什么不能按变量名打印内容?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

请教为什么无法通过变量名获取打印的变量内容呢?

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body>
<script>
window.onload=function(){
    var sColor="#114578";
    var  col0 = sColor.substring(1, 3);
    var  col1 = sColor.substring(2, 5);
    var  col2 = sColor.substring(4);
 var btn = document.getElementsByTagName("button");
 var btnL = btn.length;     
for( var i=0; i<btnL; i++){
    (function (e) {
        btn[e].onclick = function(){ 
            var subStr=col[e];
            alert(subStr);
            }
        })(i);
}
  }
</script>
<button>按钮1</button>
<button>按钮2</button>
<button>按钮3</button>
</body>
</html>

解决方案

请把下面这段代码:

    var  col0 = sColor.substring(1, 3);
    var  col1 = sColor.substring(2, 5);
    var  col2 = sColor.substring(4);

修改为:

var col = [];
col.push(sColor.substring(1, 3));
col.push(sColor.substring(2, 5));
col.push(sColor.substring(4));

@姜立 eval()能不用就不用吧

这篇关于javascript - 为什么不能按变量名打印内容?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆