JavaScript day 02
文章目录
前言
今天学习的内容不也算多,内容也不算很难,但是练习的题目比较多,我这边也就不过多写了,比较丑陋哈哈哈
一、一元运算符
一元运算符只能和变量一起使用 不能有其他的转换和运算 只能有一个运算符
1.字符串类型
对于字符串类型来说进行自增或者自减会自动转换成number类型
对于不能转换成数字类型的 会变成 NaN
var str = '10'
str++
console.log(str) // 11
str = 'ab'
console.log(str++) // NaN
2.布尔类型
true ==1
false ==0
var bol = true
bol++
console.log(bol)//2
3.null类型
会先自动转换成 布尔类型 然后再转化成 number
var no = null
no-- // null------布尔型是false------number型是0
console.log(no) //-1
4.undefined 类型
undefined 类型转换不成功 所以直接变成NaN
var und
und-- //首先也是先转换成布尔型 但是 undefined 转换成布尔型不成功 就变成 NaN
console.log(und) //NaN
二、比较(关系)运算符
1.符号
== > < >= <= !=
关系运算符得到的结果 一定是布尔类型
布尔类型和number类型比较大小 是将布尔类型转换成数字类型然后再比较
null,undefined 不会自动转换成布尔类型
!=undefined不会进行值的转换
console.log(1==2)// false 仅对于值是否相等比较
console.log(1>2)// false 大于号
console.log(1<2)// true 小于号
console.log(1>=2)// false 大于等于
console.log(1<=2)// false 小于等于
console.log(1!=2)// ture 不等于
var a = 1, b = '1';
console.log(a==b)// true 相等 只比较值的大小 字符串类型会自动转换成number类型
console.log(a===b)//false 恒等 不仅比较大小而且还比较数值类型 a是number型 b是字符串类型 返回false
三丶逻辑运算符
1. 与 或 非
与 && 都true则true 断路与& 效率低
或 || 一个true就true 全false为false 断路或| 效率低
非 ! 与判断值相反
2.三元(目)运算符
表达式?true的结果:false的结果
三元运算符的值必须立马使用不能够单独写一行代码单独运行
var a = 1 + 1 ==2?'哈哈':'呜呜'
console.log(a) // 哈哈
3.位移运算
(1)2怎么快速变成8
二进制移位 console.log(2<<2)//8 二进制中 0010 向左移2位 1000 变成8
(2)1+1快还是1-1快
1-1快,因为在二进制当中 1+1是需要进位的 ,但是1-1是变成0 不需要进位
四丶分支结构——if,switch
1.if
if(条件1){//条件必须是一个结果为布尔值类型的值
要做的事
}else if (条件2){ 多个条件可以写多个 else if 进行嵌套
要做的事
}else{
要做的事
}
2.switch
当知道自己的结果数目时,可以使用switch 进行判断选择 效率更高
switch(变量){
case 值1:
要做的事
break;//终止switch
case 值2:
要做的事
break;
default://默认值
}
break 会终止这个switch 如果
不写break 会从匹配的 case 开始执行 一直执行到swich结束 不管你符不符合都会执行
var yu
switch (yu) {
case undefined: // 从你匹配的这一行开始 不写break 那么后面的不管你符不符合都会执行
console.log('hh');
case '123':
console.log('123');
default:
console.log('666');
}
会打印出 hh 123 666
var yu
switch (yu) {
case undefined: //
console.log('hh');
break
case '123':
console.log('123');
break
default:
console.log('666');
break
}
会打印出 hh
总结
需要理解好什么时候用 if 什么时候用 switch 如果结果的数目已知可以用 switch 如果不知道可以用if
逻辑判断计算题 以及例题 算法 ~ 加油啦第二天完毕!