首页 > 其他分享 >运算符

运算符

时间:2023-12-13 18:36:18浏览次数:25  
标签:qq 10 console log ++ 运算符 var

 运算符

 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

相关文章

  • 在C++中,预处理器提供了一些符号和运算符,这些符号在宏定义中有特殊的含义
    在C++中,预处理器提供了一些符号和运算符,这些符号在宏定义中有特殊的含义。以下是一些常见的符号:#:字符串化运算符,用于将宏参数转换为字符串。#defineSTRINGIZE(x)#xstd::cout<<STRINGIZE(Hello);//输出"Hello"##:连接运算符,用于连接两个标记,使它们成为一个标记。#de......
  • C++学习笔记六:运算符(五种基本运算操作,优先级和结合性)
    这一章对操作符进行简单的总结:1.五种基本运算类型:加减乘除,取余add,substract,multiply,divide,modulusintnumber1{2};intnumber2{7};intresult=number1+number2;result=number2-number1;result=number1-number2;result=number1*number2;result=......
  • java中的三目运算符
    格式:变量=condition?value1:value2condition是一个布尔表达式,如果为true,则返回value1,否则返回value2比如:变量a的赋值,如果x>y,则a=1,否则,a=2用ifelse代码如下:1importjava.util.Random;2publicclassTest3{3publicstaticvoidmain(String[]args){4......
  • C语言中的运算符优先级
    C语言中的运算符优先级前言这几天在调试一个程序,遇到了一个bug,就是需要读取寄存器的数据。该数据是一个16bit的数据,按照高8位一个byte和低8位一个byte分别存放在了不同的寄存器地址中。但是在我读取数据的时候,总是会出现数据不符合预期的情况。在程序中是这样子的,读取的高8位数......
  • 类内 重载运算符 分数 加减乘除
    #include<iostream>#include<cstdio>#include<cstring>#include<algorithm>usingnamespacestd;classRational{private:intnumerator,denomirator;staticintgcd(intn,intd);public:Rational(){};Rat......
  • -变量作用域与运算符
    变量作用域与运算符//类变量staticstaticdoublesalary=2500;//虽然是整数但一样能用,因为精度更高//属性:变量//实例变量:从属于对象(类):如果不自行初始化,这个类型的默认值是0//布尔值:默认是false//除了基本类型(八个),其余的默认值是nullStringname;intage;//main方......
  • 变量作用域与运算符
    变量作用域与运算符//类变量staticstaticdoublesalary=2500;//虽然是整数但一样能用,因为精度更高//属性:变量//实例变量:从属于对象(类):如果不自行初始化,这个类型的默认值是0//布尔值:默认是false//除了基本类型(八个),其余的默认值是nullStringname;intage;//main方......
  • [Python]运算符: / 和 % 和 //计算差异是什么?
    /和%和//(地板除)在Python中的作用是:用于对数据进行除法运算。python中与除法相关的三个运算符是//和/和%,下面逐一讲解。“/”,这是传统的除法,5/2=2.5“//”,在python中,这个叫“地板除”,3//2=1“%”,这个是取模操作,也就是区余数,8%2=0,7%2=1Python中分为3种除法:1、/,2、%,3......
  • Java_1 变量、运算符、表达式、输入与输出
    1编写一个简单的Java程序–手速练习publicclassMain{publicstaticvoidmain(String[]args){System.out.println("HelloWorld");}}2语法基础2.1变量变量必须先定义,才可以使用。不能重名。变量定义的方式:publicclassMain{publicstat......
  • Java运算符
    1.运算符1.1算术运算符算术运算符是对数值型的变量进行运算publicclassOperator{publicstaticvoidmain(Stringargs[]){System.out.println(10/4);//2System.out.println(10.0/4);//2.5doubled=10/4;System.out.println(......