JavaScript字符串拼接变量名及赋值

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

某些时候需要通过传参的形式来改变或获取有规律的变量值,就可以用到变量名拼接

传参拼接变量名获取值方法一:(适用于全局变量)

//通过中括号[]

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"这个元素存在

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值