【JS技巧】JavaScript技巧介绍1 -- switch

switch


1 switch条件为数字时,可以使用数组map


var fun0 = function(){
	console.log('fun0');
}
var fun1 = function(){
	console.log('fun1');
}
var fun2 = function(){
	console.log('fun2');
}

var condition = 1;

switch(condition){
	case 0:
		fun0();
		break;
	case 1:
		fun1();
		break;
	case 2:
		fun2();
		break;
}


等同于


var fun0 = function(){
	console.log('fun0');
}
var fun1 = function(){
	console.log('fun1');
}
var fun2 = function(){
	console.log('fun2');
}

var condition = 1;

var condition_arr_map = [fun0, fun1, fun2];
condition_arr_map[condition]();


2 当switch条件为字符串时,可以使用object的key和value来做map


var fun0 = function(){
	console.log('fun0');
}
var fun1 = function(){
	console.log('fun1');
}
var fun2 = function(){
	console.log('fun2');
}

var fruit_kind = 'grape';

switch(fruit_kind){
	case 'apple':
		fun0();
		break;
	case 'banana':
		fun1();
		break;
	case 'grape':
		fun2();
		break;
}


等同于



var fun0 = function(){
	console.log('fun0');
}
var fun1 = function(){
	console.log('fun1');
}
var fun2 = function(){
	console.log('fun2');
}

var fruit_kind = 'grape';

var condition_obj_map = {
	'apple': fun0,
	'banana': fun1,
	'grape': fun2
}

condition_obj_map[fruit_kind]();


posted @ 2017-04-21 10:49  snow_finland  阅读(217)  评论(0编辑  收藏  举报