美文网首页
操作符和表达式

操作符和表达式

作者: cooore | 来源:发表于2016-07-15 14:15 被阅读0次

    操作符

    • 一元操作符(++,--)
    • 算术操作符(+,-,*,/,%)
    • 关系操作符(>,<,>=,<=,)
    • 相等操作符(==,!=,===,!==)
    • 逻辑操作符(!,&&,||)
    • 复制操作符(=)
    • 条件操作符(? :)
    • 逗号操作符(,)
    • 对象操作符(new,delete,.,[],instanceof,in)
    • 位操作符(~,&,|,^,<<,>>,>>>)

    一元操作符

    • ++ --
    var age = 29;
    ++age;//30
    age++;//31
    
    var age = 29;
    var num = age++;//num=29 先赋值再加
    var num = ++age;//num=30 先加再赋值
    

    算术操作符

    • /
    • %
    var num = 5 + 6;//11
    var num = -10;
    

    关系操作符

    • <
    • (>=)
    • <=
    var result = 6>4;
    alert(result);//true
    

    相等操作符

    • ==
    • !=
    • ===
    • !==
    var num = 4;
    num == 4;//true
    var num = "4";
    num == 4;//true 会进行类型转换,字符串“4”变成数字4
    0 == false;//true
    2 == true;//false
    '' == 0;//true
    var num = "4";
    num === 4;//false
    num !== 4;//true
    

    逻辑操作数

    • !
    • &&
    • ||
    var flag = true;
    alert(!flag);//false
    
    alert(!0);//true
    alert(![]);//false
    alert(!"");//true
    alert(!![]);//true
    
    var result = true && false;//第一个数是true,则值等于第二个数,第一个值为false,则值等于第一个数
    
    var result = true &&3;//3
    var result = 1 && 3;//3
    var result = [] && "";//""
    var result = false && 3;//false
    var result = ""&&3;//""
    var result = null && true;//null
    
    var num = 0;
    var result = "" && num++;//num 0 短路操作
    
    var result = true || false;//第一个数是true,则值等于第一个数,第一个值为false,则值等于第二个数
    
    var result = true || 3;//true
    var result = 1 || 3;//1
    var result = [] || "";//[]
    var result = false || 0;//0
    var result = ""||3;//3
    var result = null || true;//true
    
    var num = 0;
    var result = 3 || num++;//num 0 短路操作
    

    赋值操作符

    • =
    var num = 5;//5
    num = num + 5;//10
    num += 5;
    
    //+= -= *= /= %=
    

    条件操作符

    • ?:
      布尔表达式 ? 表达式一 : 表达式二;
      true //表达式一
      false //表达式二
    var sex = true;
    var result = sex ? '男':'女';
    

    逗号操作符

    var num1 = 5;
    var num2 = 10;
    var num3 = 0;
    
    var num1 = 5,num2 = 10,num3 = 0;
    

    对象操作符

    • new
    var cat = new Object();//对象的实例
    
    • delete
    var cat = {name:'kitty',age:2};
    alert(cat.name);//'kitty'
    delete cat.name;
    alert(cat.name);//undefined 删除对象的属性
    
    • .
    • []
    var cat = {name:'kitty',age:2};
    alert(cat.name);//'kitty'
    alert(cat['name']);//'kitty' 获取对象的属性
    
    • instanceof
    var cat = {name:'kitty',age:2};
    alert(cat instanceof Object);//true
    alert(cat instanceof Number);//false 判断某个变量是否是某个对象的实例
    
    • in
    var cat = {name:'kitty',age:2};
    alert('name' in cat);//true
    alert('run' in cat);//false 判断某个属性是否在对象中
    

    位操作符

    • ~ & | ^ << >> >>>

    操作符优先级

    var num = 5 + 4 *3;
    4 + 0 || 3;//4
    !false && [];//[]
    4>3?5:7+10;//5
    4 == '4' && 3;//3 加括号可以提升优先级
    

    表达式

    把直接量变量组合起来就是表达式

    5
    5+4
    (5+4)*(6+7)
    (5+4)*(6+7)|| !flag
    

    相关文章

      网友评论

          本文标题:操作符和表达式

          本文链接:https://www.haomeiwen.com/subject/taydjttx.html