03-数据类型, 04-运算符 05-数据类型转换 06-流程控制
数据类型包括: 基本数据类型和引用数据类型
基本数据类型指的是简单的数据段,引用数据类型指的是多个值构成的对象
当我们把变量赋值给一个变量时,解析器首先要确认的就是这个值是基本类型还是引用类型值
1,基本数据类型
number
var a= 123; //type 检查当前变量时什么数据类型 console.log(typeof a); //特殊情况 var al = 5/0; console.log(typeof al); //infinity 无限大,number类型
string
var str = "123"; console.log(typeof str)
boolean
var bl = false; console.log(typeof bl);
null
var cl = null; console.log(al);
undefinded
var dl; console.log(type dl);
2,引用数据类型
Function
Object
Array
String
Date
04-运算符
js中的运算符跟python中的运算符有点类似,但也有不同,所谓运算,在数学上,是一种行为,通过已知量的可能的组合,获得新的量
1,赋值运算符
以var x = 12, y = 5来演示示例
2,算数运算符
var a = 5, b = 2
3,比较运算符
var x = 5;
4, 特殊情况
字符串拼接+字符串运算 特殊情况.python中有拼接字符串中更简便的办法,其实在js中也有,大家可以八度搜索引擎搜索es6模板字符串
var firstName = '小'; var lastName = '马哥'; var name = '伊拉克'; var am = '美军'; // 字符串拼接 var str = "2003年3月20日,"+name+"战争爆发,以美军为主的联合部队仅用20多天就击溃了萨达姆的军队。这是继十多年前的海湾战争后,"+am+"又一次取得的大规模压倒性军事胜利。" var fullStr = str; console.log(fullStr) var fullName = firstName +" "+ lastName; console.log(fullName)
//不能对字符串进行+运算 只能拼接 var a1 = "1"; var a2 = "2"; console.log(a1-a2);
var b1 = "one"; var b2 = "two"; //NAN ==== not a number 是number类型 conslole.log(typeof(b1*b2));
05-数据类型转换
语言中我们的数据类型有很多,在某个页面中展示的数据类型也不用,比如说电话号码我们就要求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 = "123345jsdflsj"; var num2 = Number(stringNum); console.log(num2); console.log(parseInt(stringNum)); console.log(parseInt(stringNum));
3,任意数据类型都可以转换为boolean类型
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))
06-流程控制
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; //更新循环条件 }
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 <= 6; i++){ for(var s=i; s < 6;s++){ document.write(" ") } for(var j = 1; j <= 2*i-1; j++){ document.write("*"); } document.write("<br>") }