鍍金池/ 問答/HTML/ 如何把字符串轉(zhuǎn)化成的變量然后判斷是否為空?

如何把字符串轉(zhuǎn)化成的變量然后判斷是否為空?

$(function () {

  var input = 2;
  var ki2 = '026';
  var ki3 = "027";
  var vule = eval('ki'+input);
  if("undefined" == typeof vule) {
      alert("NO")
  }
  else {
      alert("yes")
  }

})

用戶輸入的input然后再下面和ki一起組成新新字符串后轉(zhuǎn)化成的一個(gè)新的變量。這個(gè)新變量和前面的ki開頭的變量匹配。最后驗(yàn)證用戶輸入的值到底能不能匹配到對(duì)應(yīng)變量,也就是說變量是否為空。這里永遠(yuǎn)都是yes或者要么空白不能輸入NO。

回答
編輯回答
菊外人

其實(shí)很好理解啊。當(dāng)用戶輸入一些不存在的東西eval('ki'+input); 這句會(huì)報(bào)錯(cuò)
我們來看看這個(gè)eval到底是怎么樣的

clipboard.png
請(qǐng)注意即使是正確的情況 返回的也是ki2這個(gè)變量對(duì)應(yīng)的"026" 而不是"ki2"這個(gè)字符串

其實(shí)要滿足你的判斷用戶輸入是否匹配已有變量的需求 完全可以如下寫法

var input = 2;//這是用戶輸入

var map = {
    "ki2":"026",
    "ki3":"027"
};

var key = "ki" + input;
if(key in map){
    console.log("yes! The value is " + map[key]);
}else{
    console.log("no!")
}

clipboard.png

clipboard.png

2017年9月2日 06:19
編輯回答
愛礙唉

我都沒明白你的需求是啥?

2017年2月6日 08:15