某些时候需要通过传参的形式来改变或获取有规律的变量值,就可以用到变量名拼接
传参拼接变量名获取值方法一:(适用于全局变量)
//通过中括号[]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; //全局变量1var hasB = false; //全局变量2function 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"这个元素存在