某些时候需要通过传参的形式来改变或获取有规律的变量值,就可以用到变量名拼接
传参拼接变量名获取值方法一:(适用于全局变量)
//通过中括号[] var lang_zh = '你好'; var lang_en = 'hello'; function test(str){ return window['lang_' + str]; } console.log(test('zh')); //你好 console.log(test('en')); //hello传参拼接变量名获取值方法二:(适用于局部变量)
//通过eval() (function(){ var lang_zh = '你好'; var lang_en = 'hello'; function test(str){ return eval('lang_' + str); } console.log(test('zh')); //你好 console.log(test('en')); //hello })();通过传参修改全局变量的值:
//判断元素是否存在并更新对应的全局变量(前提是元素的属性名称与全局变量名有一定的命名规律) var hasA = false; //全局变量1 var hasB = false; //全局变量2 function testId(str){ if(document.getElementById('elem' + str)){ //判断元素是否存在 window['has'+ str] = true; //修改全局变量值为true }else{ window['has'+ str] = false; //修改全局变量值为false } } testId('A'); console.log(hasA); //如果值为true则表示id="elemA"这个元素存在