运算符
1,数学运算符
1.“+”
- 只有符号两边都是数字的时候才会进行加法运算
- 只要符号任意一边是字符串类型,就会进行字符串拼接
2.“-”
- 会执行减法运算
- 会自动把两边都转换成数字进行运算
3."*"
- 会执行乘法运算
- 会自动把两边都转换成数字进行运算
4.“/”
- 会执行除法运算
- 会自动把两边都转换成数字进行运算
示例如下:
1.最最常规:
var a=10 var b=10 console.log(a+b)
结果为:20(蓝色)
2.加法若任何一边为字符串,那么整个都会自动转换为字符串
var a=10 console.log(a+"111")
结果为:10111(黑色哦)
3.加布尔:
var a=10 var b=true console.log(a+b)
结果为:11(蓝色)
4.小特殊:取余(%)
var a=10 var b=3 console.log(10%3)
结果为:1(10/3.....1)
小题目1:把“1000分钟”用“小时:分钟”表示
var a=1000 var b=parseInt (a/60) var c=a%60 console.log(b+":"+c)
结果为:
小题目2:计算下列语句的值
console.log(1+"2"*3+4)
自得结果为:11(数值,蓝色)(正确)
变式:
console.log(“1”+"2"*3+4)
自得结果为:164(字符串,黑色)(正确)
2,赋值运算符
1.”="
- 就是把等号右边的赋值给等号左边的变量名
如:var a=100
- 就是把100赋值给a变量
- 那么a变量的值就是100
2,“+=”、”-=“、”*=“、”/=“、”%=“。
对a进行运算后,重新赋值。
小拓展:
(1)数字转换
- var m=5 var n=6 var c c=m m=n n=c console.log(m,n)
(2)加1
var number=5 1,number=nimber+1 2,number+=1 console.log(number)
3,比较运算符
1,==
- 比较符号两边的值是否相等,不管数据类型
- 1==”1"(由于两个数值一样,得到true)
2,===
- 比较符号两边的值和数据类型是否都相等
- 1===“1”(虽然两个数值是一样的,但并不是同一数据类型,故得到false)
3,!=
- 比较符号两边的值是否不等
- 1!=“1“(因为此时两边的值是相等的<与数据类型无关>,所以比较他们不相等时得到false)
小拓展:
console.log(true==1) console.log(""===0) console.log(null==0) console.log(undefined==0)
(1)true
(2)false(数据类型不一样)
(3)flase
(4)flase(null与undefined是在特殊只可以硬记)
4,!==
- 比较符号两边的数据类型与值是否相等
- 1!==”1“(由于两边的数据类型不相等,故在比较它们不相等时得到的是true)
5,>\>=\<\<=
4,逻辑运算符
1,&&(且)
必须两个都为真才为真
2,||(或)
一个为真即为真
3,感叹号的巧用
1,取反
应用请景:在写购物车时,先判断购物车里有无商品,在看要不要显示相应特殊样式
var length=5 console.log(length===0)
译为:length表示商品列表长度,通过比较运算符判断商品长度是否等于0,等于0则出现特殊样式,不等于则不出现。
var length=5 console.log(!length)
当length等于0时!length为真,则需要出现特殊样式,当有商品length不等于0时,则!length为假(0),则不需要出现特殊样式。
2,取布尔值
var ww=”“ console.log(!!ww)
”“为0,!”“为真,则!!”“为假,即可判定”“的布尔值为0.
4,&&与||的短路用法
- x&&y 中如果x为假则整个表达式都为假,则不需要执行y,y保持原值。如果x为真,则y继续执行。
- x||y 中如果x为真则整个表达式都为真,则不需要执行y,y保持原值。如果x为假,则y继续执行
应用情景:
1,&&的应用
var y console.log(y.tostring())
console.log(11111)
因为y为undefined,不可以用tostring转换,所以系统会报错,则无法执行下一步指令。
解决方法:
var y console.log(y&&y.toString()) console.log(11111)
结果为:undefined
11111
因为y为假,则由于逻辑短路&&即为假,则不需执行y.tostring()
则不会报错,则正常进行。
var y y=1000 console.log(y && y.toString()) console.log(11111)
结果为:1000(字符)
11111
应为1000为真,所以对后面执行,所以打印出来的为1000,正确!
大注意:y.toString()中S为大写!!!
2,||的应用
var z="" document.write(z||"这个家伙很懒,什么也没有留下")
应用情景:当用户什么都没输入时,则后端传输来“”,为假,则语句向后执行,则显示出“这个人很懒.....
var z="爱你" document.write(z||"这个家伙很懒,什么也没有留下")
应用情景:当用户输入了内容,z则为真,则逻辑短路,不会执行后面的内容。
5,自增自减运算符
1,++
- 进行自增运算
- 分成两种,前置++,后置++
- 前置++,会先把值加一,再返回
var qq=10 console.log(++qq)
//先返回qq+1(即qq++=11),再把qq+1(即11)
结果为:11
- 后置++,会先把值返回,在自动加一
var qq=10 console.log(qq++)
//先返回qq(qq++=原值10),再把qq+1(即11)
结果为:10
应用情景:写购物车增减商品时的使用方法。
var number=10 // number++ // ++number 等价于 document.write(++number)
注意:为啥不使用number++呢,因为number++不会加一,所以返回的时10,无用。
小题目:
var n=10 var res=++n + n++ + ++n document.write(res)结果为:++n=11(n=11),n++=11(n=12),++n=13(n=13)
11+11+13=35,所以结果为35.
2,--
- 进行自减运算
- 分成两种,前置--,后置--
- 前置--,会先把值减一,再返回
var qq=10 console.log(--qq)
//先返回qq-1(即--qq=9),再把qq-1=9
结果为:9
var qq=10 console.log(qq--)
//先返回qq的值(即qq--=原值10,再把qq-1=9
结果为:10
小题目:
var m=10 var reg=m++ + --m + ++m console.log(m,reg)
结果为:m++=10(m=11),--m=10(m=10),++m=11(m=11)
10+10+11=31
所以为 11,31
6,三目运算符
var x,y x=13 y=x>10?x+10:x
结果为:23
译为:因为x=13>10,结果为真,所以y=x+10=13+10=23;
变式:x=9
译为:因为x=9<10,结果为假,所以y=x=9.
应用情景:在购物打折时,满200减10,不满200但满100减5
var afterprice,price=210 afterprice=price>200?price-10:(price>100?price-5:price)
其中小括号是为了让他优先进行!这个情景更适于使用if选择语句,请看下一篇!
标签:qq,10,console,log,++,运算符,var From: https://www.cnblogs.com/zyqnb/p/17819081.html