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

本文介绍了两种使用变量名拼接的方法来获取或修改变量值。第一种方法适用于全局变量,通过中括号[]实现;第二种方法适用于局部变量,通过eval()函数实现。此外,还展示了如何通过这种方式修改全局变量。
396

被折叠的 条评论
为什么被折叠?



