前端

JavaScript运算符

2019-04-17  本文已影响0人  无尾树袋熊

算数运算符

  1. 与C语言几乎一样
  2. 不同:在JavaScript中整数除以整数可以得到一个小数

特点:

  1. 任何值和NaN运算,得到的结果都是NaN
var num1 = 666;
var res1 = num1 + NaN; 
console.log(res1); //NaN
  1. 任何值和字符串进行加法运算,都会先转换为字符串之后再运算
var num2 = 3.14;
 var str1 = "123";
var res1 = num2 + str1;
console.log(res1); //3.14123
  1. 其它运算符,如果参与运算的不是Number类型,会先转换为Number类型后再运算
var num2 = 3.14;
var n = null;
var res1 = num2 + n;
console.log(res1); //3.14
  1. 只有加法才会转换为字符串, - * / %都会转换为Number
var num1 = 666;
var str1 = "123";
var res2 =num1 - str1;
console.log(res2); //543
  1. 对于取模运算m%n, m小于n, 结果就是m; 如果m等于0, 结果就是0, 如果n等于0, 结果就是NaN

赋值运算符

  1. JavaScript中的赋值运算符和C语言一样
  2. 将等号右边的值,放到等号左边的变量的存储空间中

自增自减运算符

  1. JavaScript中的自增自减运算符和C语言一样
  2. 前置:先自增或自减,再运算
  3. 后置:先运算.再自增或自减
num = 1;
var res = ++num + num++; //4

关系运算符

  1. JavaScript中的关系运算符和C语言几乎一样
  2. 新增 === !==(判断内容和类型是否不等)
  3. 对于非Number类型的数据,会先转换为Number类型之后再比较
var num1 = 123;
var str1 = "123";
var res = num1 === str1; //false
  1. 对于null和undefined来说,虽然null转换为Number之后是0,undefined转换为Number之后是NaN,但是再和0做==比较的时候, 会返回false
var u = undefined;
var res = u == 0;
console.log(res); //false
  1. 如果比较undefined和null是否相等,会返回true
var n = null;
var u = undefined;
var res = u == n;
console.log(res);//true
  1. 不要用其它值和NaN进行==比较
  2. 不要让两个NaN之间进行比较
var flag = NaN;
var res = isNaN(flag);
console.log(res); //true

逻辑运算符

  1. JavaScript中的逻辑运算符和C语言几乎一样
&&  一假则假
||  一真则真
!   真变假假变真
  1. 对于非Boolean类型的数据, 会先转换为Boolean类型之后再判断
条件A && 添加B;
    如果条件A不成立, 那么就返回条件A
    如果条件A成立, 不管条件B是否成立, 都会返回条件B
    
条件A || 添加B;
    如果条件A成立, 那么就返回条件A
    如果条件A不成立, 那么不管条件B是否成立, 都会返回条件B
var num1 = 123;
var num2 = 3.14;
var num3 = 0;

var res1 = num1 && num2;
console.log(res1); //3.14

var res2 = num3 && num1;
console.log(res2); //0
var num1 = 123;
var num2 = 3.14;
var num3 = 0;

var res1 = num1 || num2;
console.log(res1); //123
var res2 = num3 || num2;
console.log(res2); //3.14
  1. 判断之后的返回值,逻辑与和逻辑或都有自己的规则

逗号运算符

  1. JavaScript中的逗号运算符和C语言一样
  2. 一般用于同时定义多个变量
  3. 逗号运算符的结果就是最后一个表达式的结果

企业开发一般用不上

    var res = (1+1,2+2,3+3);
    console.log(res);//6

三目运算符

  1. JavaScript中的三目运算符和C语言一样
  2. 条件表达式 ? 结果A : 结果B;
var res = 10 > 5 ? 10 : 5;
console.log(res); //10
上一篇 下一篇

猜你喜欢

热点阅读