JS怎么动态命名变量名

JavaScript019

JS怎么动态命名变量名,第1张

修改后的代码:functionaddcss(css){vardiv=document.createElement("div") for(variincss){div.style.cssText+=i+":"+css[i] }document.body.appendChild(div)}你的代码存在以下问题:1、创建元素的方法是createElement(),而不是create()2、元素创建以后没有附加到已有节点上3、i不是style的属性

动态生成全局变量:

//简单的用字符串作为变量名

window['hello'] = "hello, world"

http://r.yuzhua.com

alert(hello)//批量定义for(var i=0i<10i++) { var varname="var"+i window[varname] = "value"+i}alert(var0)alert(var9)

http:www.baidu.com

解释:所有的全局变量都存在window变量里。window是个js本身定义的变量,类型为object。

访问全局变量var0 相当于访问window.var0,也相当于window["var0"]。

局部变量最好用object吧:http:www.baidu.com

function test() { var vars = {} // 简单的字符串作为变量名 vars['hello'] = "hello, world!" alert(vars.hello)//批量定义 for(var i=0i<10i++) {var varname="var"+i vars[varname] = "value"+i } alert(vars.var0) alert(vars.var9)

这是一个一个老生常谈的特效,在新浪网首页的源文件到处可以看到这样的例子。

最好命名要连贯,比如:text1,text2,text3如果这样命名,下面就好办了:

function hiddenText(id){

for (var i=1i<=3i++) {

if (i==id) {

document.getElementsByTagName("text"+i).style.display="none"

}

else{

document.getElementsByTagName("text"+i).style.display="block"

}

}

}

调用方法:

<a href="#" onclick="hiddenText(1)">隐藏1</a>

<a href="#" onclick="hiddenText(2)">隐藏14</a>

<a href="#" onclick="hiddenText(3)">隐藏25</a>