分支结构以及强制转换

103 阅读2分钟

1、分支结构:通过条件的判断,选择部分代码执行 - 3类

1、*if分支:性能较差

	一个条件一件事,满足就做,不满足就不做
		if(条件){
			操作;
		}

	一个条件两件事,满足就做第一件,不满足就做第二件
		if(条件){
			操作;
		}else{
			默认操作;
		}

	多个条件做件事,满足谁就做谁
		if(条件1){
			操作1;
		}else if(条件2){
			操作2;
		}else{
			默认操作;
		}

2、*switch分支:一定要知道结果是什么,才可以使用

	switch(变量/表达式){
		case1:
		操作1;
		break;
		case2:
		操作2;
		break;
		default:
		默认操作;
	}

3、*三目运算:简化【简单的】分支 - 操作只能有一句话的时候才推荐使用

        短路逻辑:条件&&(操作);           ===    if...
	
        条件?操:默认操作;		      ===    if...else...

        条件1?操作1:条件2?操作2:默认操作            ===	  if...else if...else...		

2、强制数据类型转换:因为隐式转换有时候满足不了我们

页面上一切数据默认都是一个字符串

1、转字符串:

	x.toString();//x不能是undefined和null,undefined和null不能使用.去做任何操作(因为他们俩不是对象)
	String(x);//万能的,但是绝对不要手动使用,因为完全等效于隐式转换,也是我们隐式转换底层的原理,还不如+""

2、*转数字

	parseInt(str/num);
	parseFloat(str);
	执行原理:从左向右,依次读取每个字符,碰到非数字字符则停止转换,如果一来就不认识则为NaN,Int不认识小数点,Float认识第一个小数点

	Number(x);//万能的,但它就相当于是隐式转换底层的原理,如果真的需要,还不如-0 *1 /1

3、转布尔

	Boolean(x);//万能的,但它就相当于是隐式转换底层的原理,如果真的需要,还不如使用!!x
	只有六个使用了转布尔的结果会是false0,"",undefined,null,NaN,false,其余都是true