JS变量名称循环定义

JavaScript010

JS变量名称循环定义,第1张

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

    var temp = "marker"

    var exp = "new BMap.Marker(new BMap.Point(111.1175,26.748500))"

    eval(temp+i+"="+exp)

}

利用eval函数将字符串转化成js代码强制执行

举个简单例子,希望你能明白,

1、下面输出结果是"jim",而不是"tom",

是因为数组中保存的都是指向json对象a的地址,

dd[0],dd[1],dd[2],dd[3]对象指向的内存地址相同,

当修改其中一个dd[0]的属性值的时候,数组所有元素指向的对象属性值都改变了。

var dd = []

var a = { "cname": "tom" }

for (var i = 0 i <4 i++) {

    dd[i] =a

}

dd[0].cname = "jim"

alert(dd[2].cname)

2、下面输出结果是0,而不是1,

是因为数组元素dd[0],dd[1],dd[2],dd[3]对应的内存地址都不同,互不干扰。

var dd = []

var a = 0

for (var i = 0 i <4 i++) {

    dd[i] =a

}

dd[0]=1

alert(dd[2])

希望对你有帮助!

btn1: function(index){ //或者使用btn1

            //按钮【按钮一】的回调

            //layer.msg('按钮【按钮一】的回调', {icon: 1})

            select = 1

            select_return(index)

        },

        btn2: function(index){ //或者使用btn2

            //按钮【按钮二】的回调

            //layer.msg('按钮【按钮二】的回调', {icon: 2})

            select = 2

            select_return(index)

        },

        btn3: function(index){

            //按钮【按钮三】的回调

            //layer.msg('按钮【按钮三】的回调', {icon: 3})

            select = 3

            select_return(index)        

        }.

        btn4: function(index){

            //按钮【按钮4】的回调

            //layer.msg('按钮【按钮4】的回调', {icon: 4})

            select = 4

            select_return(index)        

        },

        btn5: function(index){

            //按钮【按钮5】的回调

            //layer.msg('按钮【按钮5】的回调', {icon: 5})

            select = 5

            select_return(index)        

        }

把这一整段写成一个字符串返回给页面好了。想了半天没什么好方法,呵呵。主要是不知道你其他地方是怎么实现的。