编程风格

switch...case结构

switch...case结构要求,在每一个case的最后一行必须是break语句,否则会接着运行下一个case。这样不仅容易忘记,还会造成代码的冗长。而且,switch...case不使用大括号,

不利于代码形式的统一。此外,这种结构类似于goto语句,容易造成程序流程的混乱,使得代码结构混乱不堪,不符合面向对象编程的原则。

function doDir(dir){
	switch(dir){
		case 'dirUp':
			return 'dirUp';
		break;

		case 'dirDown':
			return 'dirDown';
		break;

		case 'dirLeft':
			return 'dirLeft';
		break;

		case 'dirRight':
			return 'dirRight';
		break;

		default:
			throw new Errow('Invalid dir');
		break;
	}
}

//上面的代码建议改写成对象结构。
function doDir(dir){
	var dirs = {
		'dirUp':function(){
			return 'dirUp';
		},
		'dirDown':function(){
			return 'dirDown';
		},
		'dirLeft':function(){
			return 'dirLeft';
		},
		'dirRight':function(){
			return 'dirRight';
		}
	};
	if(typeof dirs[dir] !== 'function'){
		throw new Errow('Invalid dir');
	}
	return dirs[dir]();
}


你可能感兴趣的:(function,面向对象编程,编程风格)