JavaScript操作符

学习目标

1.掌握什么是表达式

2.掌握javascript操作符的分类

3.掌握算数操作符

什么是表达式

将类型的数据(如常量、变量、函数等),用运算符号按一定的规则链接起来的、有意义的式子称为表达式。

操作符的分类

1.算数操作符

2.逻辑操作符

3.赋值操作符

4.比较操作符

5.三元操作符

JavaScript操作符-算数操作符

(隐式类型转换“5”)

+:加

-:减

*:乘

/:除

%:取余

递增和递减

1.递增: ++a与a++都是对进行递增的操作

区别: ++a先返回递增之后的a的值(1+a)

a++先返回a的原值,再返回递增之后的值

2.递减同理

<script>
       var num1=10,
           num2=5,
           num3=num1++-num2,    // ++num1  num1=num1+1
           x1=20,
           x2=30,
           x3=--x1+x2--;

console.log(num1);  //  11   // 11
       console.log(num3);  // 16    // 5

console.log(x1);    // 19
       console.log(x2);    // 29
       console.log(x3);    // 19+30=49
    </script>

JavaScript操作符-赋值操作符

赋值操作符

简单赋值:=

复合赋值:+=、-=、*=、/=、%=

<script>
      var a=10;
      var b=20;
      var str="hello ";
      a+=5;        // a=a+5
      b%=4;        // b=b%4;
      str+=" world";     // str=str+"world";
      console.log(str);      // hello world
      console.log(a>b);      // true
    </script>

JavaScript操作符-比较操作符

>、<、>=、<=、==、===、!=、!==

==: 相等,只比较值是否相等

===:相等,比较值的同时比较数据类型是否相等

!=:不相等,比较值是否不相等

!===:不相等,比较值的同时比较数据类型是否相等

返回值:boolean型

  var x=10,
          y="10",
          m=15,
          //z=x==y;    // 值是否相等
          z=x===y,    // 全等
          n=x!==y;
      console.log(n);  // true

console.log(null===undefined);  //  false

JavaScript操作符-三元操作符

var soce=55;

Var result=(soce>=60)?“及格”:“不及格”

Console.log(result)

语法:条件?执行代码1:执行代码2

说明:可代替简单的if语句,如果条件成立,执行代码1,否则执行代码2

var soce=55;
      var result=(soce>=60)?"及格":"不及格";

console.log(result);  //  不及格

JavaScript操作符-逻辑操作符

逻辑操作符

&&:与,并且

||:  或

!:非

&&:与,并且(同时所有条件成立,返回true。只有一个条件不成立,返回false)

说明:在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值,

此时它遵循下列规则:

1.如果第一个操作数隐式类型转换后为true,返回最后一个操作数

2.如果第一个操作数隐式类型转换后为false,则返回第一个操作数

3.如果有一个操作数是null,则返回null

4.如果有一个操作数是NaN,则返回NaN

5.如果有一个操作数是undefined,则返回undefined

||:或(只要有一个条件成立,返回true)

说明:在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值,

此时它遵循下列规则:

1.如果第两个操作数隐式类型转换后为true,返回第一个操作数

2.如果第两个操作数隐式类型转换后为false,则返回第二个操作数

3.如果有两个操作数是null,则返回null

4.如果有两个操作数是NaN,则返回NaN

5.如果有两个操作数是undefined,则返回undefined

!:非

说明:1.无论操作数是什么类型,逻辑非都会返回一个布尔值

2.!!同时使用两个逻辑非操作符时:

第一个逻辑非操作非会基于无论什么操作数返回一个布尔值,

第二个逻辑非则对布尔值求反。

<script>
       var num1=10,
           num2=20,
           num3=30,
           str="welcome",
           bool=true,
           n=null,
           m;

/* console.log(num1<num2 && num2<num3);  // true

console.log(num1<num2 && num2==num3);  // 所有条件都为true才返回true

console.log(num2<num3 && num3>num1 && false);*/

/* console.log(str && num3);  // 30 "" false  true  0 false true

console.log(80 && 55);

console.log("hello" && 65 && "abc");  // abc

console.log(0 && 88);

console.log("" && 0 && 30>20);*/
       console.log(n && num3);         //   null
       console.log(55 && true && 33*"abc");    //  NaN
       console.log(m && true);    //  undefined
    </script>

<script>
       var m;
       /*console.log(55>88 || 33<66);
       console.log(55!="55" || 88==="88");

console.log("hello" || 0);     // hello
       console.log(99 || 0 || "abc"); // 99
       console.log("" || 88 || true); // 88
       console.log("" || 0 || "abc");  // abc
       console.log(0 || "" || null); // null  
       console.log(0 || "" || null || "hello");  // hello
       console.log(m || NaN || 99);  // 99
       console.log("" || m);  // undefined
       console.log(30*"abc" || 55-"def");  // NaN*/

// 非
       console.log(!false);  // true
       console.log(!88);  // false
       console.log(!0);   // true
       console.log(!"red");  //false
       console.log(!NaN);   //true
       console.log(!null);   //true

console.log(!!"");  // false
       console.log(!!"blue");  //true
    </script>

JavaScript操作符-3---算数,逻辑,赋值,比较,三元的更多相关文章

  1. javascript 操作符类型隐性转换

    javascript 操作符类型隐性转换 (一).一元操作符只能操作一个值的操作符叫做一元操作符1.递增和递减操作符a. 在应用于一个包含有效数字字符的字符串时,先将其转换为数字值,再执行加减1的操作 ...

  2. JavaScript操作符汇总

    操作符 JavaScript 有赋值.比较.算术.位.逻辑.字符串和特殊运算符.本章描述了操作符,以及关于操作符优先级的一些信息. 表 2.1 JavaScript 所有操作符简明列表. 表 2.1 ...

  3. javascript使用两个逻辑非运算符(!!)的原因

    javascript使用两个逻辑非运算符(!!)的原因: 在有些代码中可能大家可能会注意到有些地方使用了两个逻辑非运算符,第一感觉就是没有必要,比如操作数是true的话,使用两个逻辑非的返回值还是tr ...

  4. javascript——操作符(~、&、|、^、<<、>>)

    直接上代码吧! <script type="text/javascript"> //javascript操作符 //1.按位非~ var num1=25;// var ...

  5. JavaScript操作符(布尔操作符、乘性操作符和加性操作符)

    布尔操作符 布尔操作符用来测试两个值的关系,布尔操作符有三个,逻辑非(!).逻辑与(&&),逻辑或(||). 逻辑非由一个叹号(!)组成,可以应用于JavaScript任何值.逻辑非首 ...

  6. JS规则 是非颠倒(逻辑非操作符)"!"是逻辑非操作符,也就是"不是"的意思,非真即假,非假即真

    是非颠倒(逻辑非操作符) "!"是逻辑非操作符,也就是"不是"的意思,非真即假,非假即真.好比小华今天买了一个杯子,小明说:"杯子是白色的" ...

  7. JavaScript操作符(一元操作符)

    JavaScript操作符包括算术操作符.位操作符.关系操作符和相等操作符.只能操作一个值的操作符叫做一元操作符. 递增和递减操作符 递增和递减操作符有两个版本:前置型和后置型.前置型操作符位于要操作 ...

  8. JavaScript学习总结(四)——逻辑OR运算符详解

    在JavaScript中,逻辑OR运算符用||表示 1 var bTrue = true; 2 var bFalse = false; 3 var bResult = bTrue || bFalse; ...

  9. JavaScript操作符

    一元操作符 只能操作一个值的操作符叫做一元操作符. 递增和递减操作符 递增和递减操作符遵循下列规则:         在应用于一个包含有效数字字符的字符串时,先将其转换为数字值,再执行加减 1 的操作 ...

随机推荐

  1. Beta阶段——第4篇 Scrum 冲刺博客

    Beta阶段--第4篇 Scrum 冲刺博客 标签:软件工程 一.站立式会议照片 二.每个人的工作 (有work item 的ID) 昨日已完成的工作 人员 工作 林羽晴 昨日完成获取提醒语句的接口函 ...

  2. vijos 清点人数

    背景 NK中学组织同学们去五云山寨参加社会实践活动,按惯例要乘坐火车去.由于NK中学的学生很多,在火车开之前必须清点好人数. 描述 初始时,火车上没有学生:当同学们开始上火车时,年级主任从第一节车厢出 ...

  3. redis 缓存策略

    redis 缓存策略配置项:maxmemory <bytes>maxmemory-policy noeviction 触发时机:每次执行命令(processCommand)的时候会检测 w ...

  4. Python3+selenium+BaiduAI识别并下载花瓣网高颜值妹子图片

    一.说明 1.1 背景说明 上周在“Python3使用百度人脸识别接口识别高颜值妹子图片”中自己说到在成功判断颜值后,下截图片并不是什么难点. 直观感觉上确实如此,你判断的这个url适不适合下载,适合 ...

  5. 使用Spring Security安全控制(二十六)

    准备工作 首先,构建一个简单的Web工程,以用于后续添加安全控制,也可以用之前Chapter3-1-2做为基础工程.若对如何使用Spring Boot构建Web应用,可以先阅读<Spring B ...

  6. 谈一谈JUnit神奇的报错 java.lang.Exception:No tests found matching

    最近在学习Spring+SpringMVC+MyBatis,一个人的挖掘过程确实有点艰难,尤其是有一些神奇的报错让你会很蛋疼.特别是接触一些框架还是最新版本的时候,会因为版本问题出现很多错误,欢迎大家 ...

  7. Linux第八周作业

    一 理解编译链接的过程和ELF可执行文件格式 这张图说明了可执行程序的产生 大致过程为 .c文件汇编成汇编代码.asm, 然后再汇编成目标码.o, 然后链接成可执行文件a.out, 这时可执行文件就可 ...

  8. nginx+tomcat集群

    参考: 简单:http://blog.csdn.net/wang379275614/article/details/47778201 详细:http://www.jb51.net/article/77 ...

  9. linux:scp从入门到刚入门

    [温馨提示] 此文和ssh配合食用更佳. 首先请小伙伴们连上你要传文件的那台机,用ssh可以免密登录. [传送文件] 我们一般发文件的话可以scp来发一发,比如说我现在要向多个扔很多tomcat包,我 ...

  10. JavaScript -基础- 变量、常量

    一.变量 <script> var a=1 var b=3 var a= 1;   //使用var 定义变量,分号结尾(可不加,换行符也可) var b=3; var a= 1; var ...