var data1 = {
city: ["1", "2", "3"],
num: ["10", "11", "12"]
}
var data2 = {
city: ["4", "5", "6"],
num: ["20", "21", "22"]
}
var data3 = {
city: ["7", "8", "9"],
num: ["15", "16", "17"]
}
function xuanze(sj1) {}
xuanze(data1)
for (let i = 0; i < optionsli.length; i++) {
optionsli[i].index = i;
optionsli[i].onclick = function() {
if (this.index == 0) {
xuanze(data1)
}
if (this.index == 1) {
xuanze(data2)
}
if (this.index == 2) {
xuanze(data3)
}
}
}
上面是一個點擊加載某個函式的代碼,當var date變數過多,比如data4 data5 data6更多的時候,一條條是去判斷點擊了哪個,加載哪個函式,肯定不合適,但是函式好像拼接寫法又有問題, 所以想請大家幫忙優化下,怎么寫比較合適
uj5u.com熱心網友回復:
在線等/。。。。。uj5u.com熱心網友回復:
optionsli[i].onclick = function() {xuanze(eval("data"+(this.index+1)))
}
uj5u.com熱心網友回復:
最好是把data1 data2 data3等多個變數改為一個陣列。
var data = [{
city: ["1", "2", "3"],
num: ["10", "11", "12"]
}, {
city: ["4", "5", "6"],
num: ["20", "21", "22"]
}, {
city: ["7", "8", "9"],
num: ["15", "16", "17"]
}];
就可以直接 xuanze(data[0])
事件中
optionsli[i].onclick = function() {
xuanze(data[this.index])
}
uj5u.com熱心網友回復:
沒辦法,你應該想辦法把同類的資料放到一個陣列里面,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/136889.html
標籤:JavaScript
