语言中我们的数据类型有很多,在某个页面中展示的数据类型也不同,比如说电话号码我就要求number的类型,而输入姓名的时候就要求string类型的。那么在适当的情况下我们可以将数据类型进行转换。
1.将数值类型转换成字符串类型
隐式转换
var n1 = 123;var n2 = '123';var n3 = n1+n2;// 隐式转换console.log(typeof n3);
强制类型转换
// 强制类型转换String(),toString()var str1 = String(n1);console.log(typeof str1);var num = 234;console.log(num.toString())
2.将字符串类型转换成数值类型
var stringNum = '789.123wadjhkd';var num2 = Number(stringNum);console.log(num2)// parseInt()可以解析一个字符串 并且返回一个整数console.log(parseInt(stringNum))console.log(parseFloat(stringNum));
3.任何数据类型都可以转换为boolean类型
var b1 = '123';var b2 = 0;var b3 = -123var b4 = Infinity; var b5 = NaN;var b6; //undefinedvar b7 = null;// 非0既真console.log(Boolean(b7))
1.if 、if-else、if-else if-else
var ji = 20;if(ji >= 20){ console.log('恭喜你,吃鸡成功,大吉大利')}alert('alex');//下面的代码还会执行
var ji = 20;if(ji>=20){ console.log('恭喜你,吃鸡成功,大吉大利')}else{ console.log('很遗憾 下次继续努力')}
if (true) { //执行操作}else if(true){ //满足条件执行 }else if(true){ //满足条件执行 }else{ //满足条件执行}
注意:浏览器解析代码的顺序 是从上往下执行,从左往右
2.逻辑与&&、逻辑或||
//1.模拟 如果总分 >400 并且数学成绩 >89分 被清华大学录入//逻辑与&& 两个条件都成立的时候 才成立if(sum>400 && math>90){ console.log('清华大学录入成功')}else{ alert('高考失利')}
//2.模拟 如果总分>400 或者你英语大于85 被复旦大学录入//逻辑或 只有有一个条件成立的时候 才成立if(sum>500 || english>85){ alert('被复旦大学录入')}else{ alert('高考又失利了')}
3.switch
var gameScore = 'better';switch(gameScore){//case表示一个条件 满足这个条件就会走进来 遇到break跳出。break终止循环。如果某个条件中不写 break,那么直到该程序遇到下一个break停止 case 'good': console.log('玩的很好') //break表示退出 break; case 'better': console.log('玩的老牛逼了') break; case 'best': console.log('恭喜你 吃鸡成功') break; default: console.log('很遗憾')}
4.while循环
循环三步走:
1.初始化循环变量
2.判断循环条件
3.更新循环变量
var i = 1; //初始化循环变量while(i<=9){ //判断循环条件 console.log(i); i = i+1; //更新循环条件}
练习:将1-100所有是2的倍数在控制台中打印。使用while循环
5.do_while
//不管有没有满足while中的条件do里面的代码都会走一次var i = 3;//初始化循环变量do{ console.log(i) i++;//更新循环条件}while (i<10) //判断循环条件
6.for循环
for(var i = 1;i<=10;i++){ console.log(i) }
课堂练习:
for(var i = 1;i<=100;i++){ if(i%2==0){ //是偶数 console.log(i) }}
1-100之间所有数之和
var sum = 0;for(var j = 1;j<=100;j++){ sum = sum+j}console.log(sum)
双重fo循环
for(var i=1;i<=3;i++){ for(var j=0;j<6;j++){ document.write('*') } document.write('') }
小作业:
1.在浏览器中输出直角三角形
* ** *** **** ***** ******
代码:
for(var i=1;i<=6;i++){ for(var j=1;j<=i;j++){ document.write("*"); } document.write('');}
2.在浏览器中输出
* *** ***** ******* ********* ***********
代码:
for(var i=1;i<=6;i++){ //行数 //控制我们的空格数 for(var s=i;s<6;s++){ document.write(' ') } for(var j=1;j<=2*i-1;j++){ document.write('*') } document.write('') }