美文网首页
javascript运算符

javascript运算符

作者: ssttIsme | 来源:发表于2019-11-17 19:24 被阅读0次

    javascript运算符

    运算符和操作数的组合就称为表达式

    1、算术运算符

    + - * / %
     ++var 前加加
     var++ 后加加 (var=var+1)
    
     --var 前减减
     var-- 后减减(var=var-1)
    

    A.+ (1)用于数值的相加运算 (2)用于字符串的连接 (3)任何的数据类型和字符串相加都等于相加后的字符串

        var str="123";
        var num=1;
        document.write(str+num);
        输出1231
    

    B.% (1)用于取一段范围的值
    取奇数 num1%2==0
    取偶数 num1%2!=0

        var num1=6;
        if(num1%2==0){
            document.write("偶数");
        }else{
            document.write("奇数");
        }
    

    C.++var 和 var++
    ++在前先+1再赋值
    ++在后先赋值再+1

        var num2=1;
        var r1=num2++;
        var num3=1;
        var r2=++num3;
        document.write(r1); 输出1
        document.write(r2); 输出2
    

    (2)一般不用于小数,因为结果不确定

    2、关系运算符(比较运算符)

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

    (1)运算的结果都是布尔值
    (2)都是字符串的时候,会转换成ASCII码再进行比较

        var ch1="abc";
        var ch2="ba";
        document.write(ch1>ch2); 输出false
    

    (3)都是数值的时候会正常比较

        document.write(3<4); 输出true
    

    (4)当一个是字符串,另一个是数值的时候,会把字符串转化成数值类型,然后进行比较。
    如果不能转换成数值类型,则会返回NaN,然后返回false

        document.write("123">121); 输出true
    
        var ch3="d";
        var num4=150;
        document.write(num4>ch3); 输出false
    

    (5) undefined==null
    (6)如果两个都是数值型字符串,只是比较第一个

        document.write("123"<"23"); 输出true
    

    (7)如果一个数值和一个布尔值信息比较,会把布尔值转换为数值再进行比较,true为1,false为0

        document.write(true==1); 输出true
        document.write(false==0); 输出false
    

    A.==
    (1)比较字符串的时候是比较它们的ASCII码是否相等
    (2)比较两个数值的时候是比较它们的数值是否相等
    (3)比较函数的时候是判断它们的位置是否相等
    B.===
    不但比较值是否相等,还比较类型是否相等

    3、赋值运算符

     = += -= *= /= %=
    

    A.+= (1)用于数值的相加再赋值 (2)用于字符串的连接再赋值

    var a=1; a+=3;(a=a+3)
    

    4、逻辑运算符(布尔运算符)

    与 and &&(运算符两边只要有一个是假,那么运算结果就是假。只有当两个都为真的时候,运算结果才是真)
    或 or ||(运算符两边只要有一个是真,那么运算结果就是真。只有当两个都为假的时候,运算结果才是假)
    非 not !(假的变成真的,真的变成假的)
    

    4.1逻辑运算符可与对任何类型的数据进行运算但是在运算的时候,可以转换成对应的布尔值

    undefined转为false Null转为false Boolean就是本身的值
    Number除了0以外都是真的
    String除了空字符串以外都是真的
    所有的对象都是真的

        var a=true;
        var b=true;
        if(a&&b){
            document.write("两个都是真");
        }else{
            document.write("至少有一个是假");
        }
        输出 两个都是真
    
        var a=true;
        var b=false;
        if(a||b){
            document.write("至少有一个是真");
        }else{
            document.write("两个都是假");
        }
        输出 至少有一个是真
    
        document.write(!true); 输出false
        document.write(!false); 输出true
        var ud;
        document.write(!ud); 输出true
    
        if(2&&true){
            document.write("true");
        }else{
            document.write("false");
        }
        输出true
    

    4.2给变量进行赋值

    var a=b && c;
    

    如果一个运算数是对象,另一个是Boolean值,返回该对象
    如果两个运算数都是对象,返回第二个对象
    如果某个运算数是null,返回null
    如果某个运算数是 NaN,返回NaN
    如果某个运算数是undefined,发生错误

    var a=b || c;
    

    如果一个运算数是对象,并且该对象左边的运算数值均为false,则返回该对象
    如果两个运算数都是对象,返回第一个对象
    如果最后一个运算数是null,并且其他运算数值均为false,返回null
    如果最后一个运算数是NaN,并且其他运算数均为false,返回NaN
    如果某个运算数是undefined,发生错误

    var a=new Object();
    var b=new Object();
    var c=a&&b;
    document.write(c==b); 输出true
    

    5、一元运算符(可以操作一个操作数)

     typeof + - delete new ++ --
    

    A.+正号、正数
    B.-负号、负数
    C.delete是用来删除对象的方法或是属性的
    D.new是用来创建一个对象的

    6、特殊的运算符

     , () =?:
    

    A.,用来一次声明多个变量
    B.()1.运算时有优先级的作用,如a*(b-c)先运行b-c 2.运行一段函数
    C.=?: 根据表达式的运算结果有条件地位变量赋值
    格式 var 变量=布尔表达式?真值:假值

    var a=true;
    var b=false;
    var c=a?1:0;
    document.write(c); 输出1
    var c=b?1:0;
    document.write(c); 输出0
    

    7、位运算符

    | & >> <<
    

    相关文章

      网友评论

          本文标题:javascript运算符

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