在js中,当运算符在运算时,若是两边数据不统一,CPU就没法计算,这时咱们编译器会自动将运算符两边的数据作一个数据类型转换,转成同样的数据类型再计算。html
这种无需程序员手动转换,而由编译器自动转换的方式就称为隐式转换。java
例如1 > "0"这行代码在js中并不会报错,编译器在运算符时会先把右边的"0"转成数字0`而后在比较大小。程序员
var n1 = 123; var n2 = '123'; var n3 = n1+n2; // 隐式转换 console.log(typeof n3);
强制类型转换是很是经常使用的技术,虽然它曾经致使了不少隐蔽的 BUG ,可是咱们不该该因噎废食,只有理解它的原理才能享受其带来的便利并减小 BUG 的产生。ui
var n1 = 123; // 强制类型转换String(),toString() var str1 = String(n1); console.log(typeof str1); var num = 234; console.log(num.toString())
var stringNum = '789.123wadjhkd'; var num2 = Number(stringNum); console.log(num2) // parseInt()能够解析一个字符串 而且返回一个整数 console.log(parseInt(stringNum)) console.log(parseFloat(stringNum));
var b1 = '123'; var b2 = 0; var b3 = -123 var b4 = Infinity; var b5 = NaN; var b6; //undefined var b7 = null; // 非0既真 console.log(Boolean(b7))
JavaScript的流程控制语法和java的很类似,因此你们能够看个人java基础-流程控制和流程控制(续) 内容比这个写的详细spa
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{ //知足条件执行 }
案例1:code
//1.模拟 若是总分 >400 而且数学成绩 >89分 被清华大学录入 //逻辑与&& 两个条件都成立的时候 才成立 if(sum>400 && math>90){ console.log('清华大学录入成功') }else{ alert('高考失利') }
案例2:htm
//2.模拟 若是总分>400 或者你英语大于85 被复旦大学录入 //逻辑或 只有有一个条件成立的时候 才成立 if(sum>500 || english>85){ alert('被复旦大学录入') }else{ alert('高考又失利了') }
var gameScore = '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('很遗憾') }
循环三步走:blog
1.初始化循环变量ip
2.判断循环条件字符串
3.更新循环变量
var i = 1; //初始化循环变量 while(i<=9){ //判断循环条件 console.log(i); i = i+1; //更新循环条件 }
//无论有没有知足while中的条件do里面的代码都会走一次 var i = 3;//初始化循环变量 do{ console.log(i) i++;//更新循环条件 }while (i<10) //判断循环条件
for(var i = 1;i<=10;i++){ console.log(i) }
for循环能够嵌套使用。