关于javascript:JS操作符

4、操作符
1) 算术运算符

+        -        *        /        %
+=        -=
var a = 1;
a += 1; // a = a + 1
console.log(a); // 2

2) 一元运算符

++ 自增
    先应用,再自增 a++
        var a = 1;
        var b = a++;
        console.log(a); // 2
        console.log(b); // 1
    先自增,再应用 ++a
        var a = 1;
        var b = ++a;
        console.log(a); // 2
        console.log(b); // 2
-- 自减
    先应用,再自减 a--
    先自减,再应用 --a
    
+、- 将其余数据类型转换为数字类型
    +
        相当于调用了Number()
        var a = 'hello';
        var b = +a;
        var c = Number(a);
        console.log(b); // NaN
        console.log(c); // NaN
    -
        如果是数值,则变为正数  如果是非数值,则跟+一样的规定
= 赋值  将=左边的值赋值给=右边的变量
    var a = 1;

3) 比拟运算符
比拟根本数据类型–比拟值,比拟援用数据类型–比地址

  1. == 双等 ( 类型不同会转换再比,大部分转Number)

      null==0     //F
      null==underfined     // T (underfined 衍生自null)
      (a=NaN) a==NaN     //F      NaN不和任何值相等  --isNaN()查看值
  2. != 不等 (会主动进行数据类型类的转换,再去比拟数值)
  3. === 三等(全等) 多类型判断,类型不同间接F
  4. !== 不等

      var a = '1';
      var b = 1;
      console.log(a == b); // true
      console.log(a != b); // false
      console.log(a === b); // false
      console.log(a !== b); // true
      {}=={} false --地址不同
      {}==={} false

    5.> / >= / < / <=
    非数值比拟时先转化为Number再比–任何值和NaN比,后果都为F
    符号两边都是字符串,按位比拟unicode

     '11'<'5'  --- T
     'abc'>'a' ---  T  第二位b的码>0
    

4) 逻辑运算符

&& 与 【同真则真,有假则假】–先转成布尔值再运算,返回原值

如果两个表达式的值都是true,则返回true,然而如果有一个表达式的值为false,则返回false
短路!!
1. 如果第一个操作数是(null,NaN,undefined,false,0,"")可被转换为false的值的时候--返回该值
2. 如果第一个数是True---返回第二个数
            var s1 = 8;
            var s2 = 'up';
            var s3 = '';
            var result = s1 && s2;  //up
            var result2 = s3 && s2; //''               

|| 或 【同假则假,有真则真】

如果两个表达式的值都为false,则返回false,然而如果有一个表达式的值为true,则返回true
(第一个T--返回1值,第一个是F,返回2值)
!  非
    !true -> false
    !false -> true

5) 三目运算符

exp1 ? exp2 : exp3;
    如果exp1为true,则整个表达式返回exp2
    如果exp1为false,则整个表达式返回exp3

var age = 18;
var gender = 'male';
var result = age >= 18 && gender == 'male' ? '满足条件' : '不满足条件';

6) 拼接运算符 +

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理