1.1 将数值类型转换成字符串类型
1.1.1 隐式转换
在js中,当运算符在运算时,如果两边数据不统一,CPU就无法计算,这时我们编译器会自动将运算符两边的数据做一个数据类型转换,转成一样的数据类型再计算。
这种无需程序员手动转换,而由编译器自动转换的方式就称为隐式转换。
例如1 > "0"这行代码在js中并不会报错,编译器在运算符时会先把右边的"0"转成数字0`然后在比较大小。
- varn1=123;
- varn2='123';
- varn3=n1+n2;
- //隐式转换
- console.log(typeofn3);
1.1.2 强制类型转换
强制类型转换是非常常用的技术,虽然它曾经导致了很多隐蔽的 BUG ,但是我们不应该因噎废食,只有理解它的原理才能享受其带来的便利并减少 BUG 的产生。
- varn1=123;
- //强制类型转换String(),toString()
- varstr1=String(n1);
- console.log(typeofstr1);
- varnum=234;
- console.log(num.toString())
1.2 将字符串类型转换成数值类型
- varstringNum='789.123wadjhkd';
- varnum2=Number(stringNum);
- console.log(num2)
- //parseInt()可以解析一个字符串 并且返回一个整数
- console.log(parseInt(stringNum))
- console.log(parseFloat(stringNum));
1.3 任何数据类型都可以转换成boolean类型
- varb1='123';
- varb2=0;
- varb3=-123
- varb4=Infinity;
- varb5=NaN;
- varb6;//undefined
- varb7=null;
- //非0既真
- console.log(Boolean(b7))
2. 流程控制
2.1 if判断语句
2.1.1 if格式
- varji=20;
- if(ji>=20){
- console.log('恭喜你,吃鸡成功,大吉大利')
- }
- alert('alex');//下面的代码还会执行
2.1.2 if-else格式
- varji=20;
- if(ji>=20){
- console.log('恭喜你,吃鸡成功,大吉大利')
- }else{
- console.log('很遗憾 下次继续努力')
- }
2.1.3 if-else if-else格式
- if(true) {
- //执行操作
- }elseif(true){
- //满足条件执行
- }elseif(true){
- //满足条件执行
- }else{
- //满足条件执行
- }
2.2 逻辑与&&、逻辑或||
案例1:
- //1.模拟 如果总分 >400 并且数学成绩 >89分 被清华大学录入
- //逻辑与&& 两个条件都成立的时候 才成立
- if(sum>400&&math>90){
- console.log('清华大学录入成功')
- }else{
- alert('高考失利')
- }
案例2:
- //2.模拟 如果总分>400 或者你英语大于85 被复旦大学录入
- //逻辑或 只有有一个条件成立的时候 才成立
- if(sum>500||english>85){
- alert('被复旦大学录入')
- }else{
- alert('高考又失利了')
- }
2.3 switch
- vargameScore='better';
- switch(gameScore){
- //case表示一个条件 满足这个条件就会走进来 遇到break跳出。如果某个条件中不写 break,那么直到该程序遇到下一个break停止
- case'good':
- console.log('玩的很好')
- //break表示退出
- break;
- case'better':
- console.log('玩的老牛逼了')
- break;
- case'best':
- console.log('恭喜你 吃鸡成功')
- break;
- default:
- console.log('很遗憾')
- }
2.4 while循环
循环三步走:
1.初始化循环变量
2.判断循环条件
3.更新循环变量
- vari=1;//初始化循环变量
- while(i<=9){//判断循环条件
- console.log(i);
- i=i+1;//更新循环条件
- }
2.5 do_while
- //不管有没有满足while中的条件do里面的代码都会走一次
- vari=3;//初始化循环变量
- do{
- console.log(i)
- i++;//更新循环条件
- }while(i<10)//判断循环条件
2.6 for循环
- for(vari=1;i<=10;i++){
- console.log(i)
- }