您的位置:68399皇家赌场 > 企业邮局 > Javascript 按位取反运算符 _基本功知识_脚本之家

Javascript 按位取反运算符 _基本功知识_脚本之家

发布时间:2019-11-30 23:01编辑:企业邮局浏览(192)

    上边包车型大巴亲自过问阐释了位非 运算符的用法,此中富含二进制表示十进制负数的,假使不熟稔这几个请先看懂《十进制负数转换为二进制、八进制、十二进制》。

    Javascript 按位取反运算符 (~)

     Javascript 按位取反运算符 (~卡塔尔国 ,对贰个说明式实行位非(求非)运算。如 ~1 = -2 ; ~2 = -3 ; ~99 = -100

     代码如下:

    result = ~ 【数字】

     

     

    怀有一元运算符(如 ~ 运算符)都根据上边包车型地铁准绳来计量表明式的值:

     

     代码如下:

    1、 假诺应用于未定义的表明式或 null 表明式,则会掀起二个周转时不当。

    2、 将对象转变为字符串。

    3、 假设恐怕,将字符串转变为数字。 不然,将抓住运转时不当。

    4、 布尔值被视为数字(如果为 false,则为 0;借使为 true,则为 1)。

     

     

    运算符将应用于结果数字。

     

    ~ 运算符查看表明式的二进制表示方式的值,并实施位非运算。

     

    表达式中的任何一位为 1,则结果中的该位变为 0。 表明式中的任何一个人为 0,则结果中的该位变为 1。

     

    上面包车型客车亲自去做阐释了位非 (~)运算符的用法,当中包含二进制表示十进制负数的,假设面生那个请先看懂《十进制负数调换为二进制、八进制、十四进制》。

     

     代码如下:

    var temp = ~5;

    /*

    5 二进制 101,补满 32位

    00000000000000000000000000000101

    按位取反

    11111111111111111111111111111010

    出于叁十一个人发轫第三个是1,所以那是二个负数,将二进制转换来负数,须求先反码

    00000000000000000000000000000101

    之后,再 1

    00000000000000000000000000000110

    调换到十进制为6,加上暗号形成负数 -6

    */

    alert(temp);

    // 弹出【-6】

     

     

    按位取反运算符 (~卡塔尔国 Javascript 按位取反运算符 (~卡塔尔国 ,对一个表明式实施位非(求非)运算。如 ~1 = -2 ; ~2 = -3 ; ~99 = -100 代码如下:...

    数学生运动算符

    加法( ),减法(-),乘法(*卡塔尔,除法(/卡塔尔(英语:State of Qatar)以致取模(%卡塔尔(قطر‎都以小学数学的源委了,这里大家主要探讨在ECMAScript中,当那么些运算符与局部异样值相遇时会是何许情状

    加法( )
    -Infinity 加 -Infinity,结果为 -Infinity。Infinity 加 Infinity,结果为 Infinity。

    Infinity 加 -Infinity,结果为 NaN。

    当只要有一只是字符串时,两侧都被转变到字符串进行不断

    减法(-)
    -Infinity 减 Infinity,结果为 NaN。

    -Infinity 减 -Infinity,结果为 NaN。

    Infinity 减 -Infinity,结果为 Infinity。

    -Infinity 减 Infinity,结果为 -Infinity。

    乘法(*)
    只要结果太大或太小,那么生成的结果是 Infinity 或 -Infinity。

    Infinity 乘以 0 以外的其它数字,结果为 Infinity 或 -Infinity。

    Infinity 乘以 Infinity,结果为 Infinity。

    除法(/)
    假定结果太大或太小,那么生成的结果是 Infinity 或 -Infinity。

    Infinity 被 Infinity 除,结果为 NaN。

    Infinity 被别的数字除,结果为 Infinity。

    0 除叁个别的非无穷大的数字,结果为 NaN。

    Infinity 被 0 以外的其余数字除,结果为 Infinity 或 -Infinity。

    取模(%)
    假若被除数是 Infinity,或除数是 0,结果为 NaN。

    Infinity 被 Infinity 除,结果为 NaN。

    借使除数是无穷大的数,结果为被除数。

    举例被除数为 0,结果为 0。

    若果对别的品类的值进行数学生运动算,那么别的类型的值会自动转变到数字,假设调换战败,则赶回NaN(独有加法运算能够和平日字符串相连卡塔尔(قطر‎

    复制代码 代码如下:result = ~

    语句

    判别语句:if (condition卡塔尔 {...} , if (condition卡塔尔(英语:State of Qatar) {....}else {....} , if (condition卡塔尔 {....} else if (condition卡塔尔(قطر‎ {......} else {.....}

    循环语句:while (condition卡塔尔(قطر‎ {...} , do {...} while (condition卡塔尔(قطر‎ ,for (initialization; expression; post-loop-expression卡塔尔 statement; for (var key in obj卡塔尔(英语:State of Qatar) {......}

    有标签的言语与break,continue语句

    break 和 continue 语句的差异之处:break 语句可以致时退出循环,阻止再一次再三执行别的轮代理公司码。而 continue 语句只是脱离当前巡回,依据决定表明式还同意世襲开展下二次巡回。

        var iNum = 0;
        outermost:
        for (var i=0; i<10; i  ) {
          for (var j=0; j<10; j  ) {
            if (i == 5 && j == 5) {
            break outermost;
          }
          iNum  ;
          }
        }
        alert(iNum);    //输出 "55"
    

     

    with 语句用于安装代码在一定指标中的作用域。

        var sMessage = "hello";
        with(sMessage) {
          alert(toUpperCase());    //输出 "HELLO"
        }
        var person = new Object();
        person.age = 18;
        person.name = "XXX";
        person.parent = "ZZZ";
        with (person) {
            alert(age "n" name "n" parent);
        }
    

     

    with 语句是运作缓慢的代码块,特别是在已安装了属性值时。大多数状态下,假若或者,最棒幸免接收它。

    表明式中的任何一人为 1,则结果中的该位变为 0。 表明式中的任何壹个人为 0,则结果中的该位变为 1。

    Boolean 运算符

    Boolean 运算符有三种:NOT(!)、AND(&&) 和 OR(||)。

    逻辑 NOT 运算符的作为如下:
    对于0,true,null,NaN,undefined,空字符串,再次回到true

    对于非0数字,非空字符串,非空对象,true,重返false

        //下面皆返回true
        alert(!null);
        alert(!0);
        alert(!undefined);
        alert(!false);
        alert(!"");
        alert(!NaN);
        //下面皆返回false
        alert(!" ");
        alert(!true);
        alert(!(new Object()));
        alert(!-1);
    

     

    逻辑非运算符(!卡塔尔(قطر‎始终重返布尔值!

    当然,逻辑非运算符还应该有其它叁个用项---〉将别的类型转变到布尔值,举例:

        alert(!!NaN);//NaN的逻辑值为false
    

     

    在 ECMAScript 中,逻辑 AND 运算符用双和号(&&卡塔尔国表示,逻辑OTiggo运算符有双竖线表示(||卡塔尔,它们的功力你或许已经很清楚

        alert(true && true);//true
        alert(false && true);//false
        alert(false && false);//false
        alert(true || true);//true
        alert(true || false);//true
        alert(false || false);//false
    

     

    而是在ECMAScript中,AND与O奥迪TT运算符不但能够功用于逻辑值!

        alert(34 && String);//将返回34
        //但新手对这样的比较可能很迷惑
    

     

    ECMAScript中的逻辑与逻辑或运算符又被称之为"快捷与","快速或",或称为"短路与","短路或".称之为短路或飞跃,是因为它们在测量检验两侧条件时(将其调换来布尔值卡塔尔,若是第多个说明式的值已经能够分明整个表明式值的时候,就不会继续求下四个表明式的值,直接将以此值重回.比方与操作,借使第八个值调换为布尔是false,那么无论是下个是true照旧false,整个表明式的值都会是false,而对于O普拉多运算符,则是就算第一个逻辑值为true,那么全部表明式的值就定了,就无须决断第1个条件了,所以,大家理应在AND运算旅长最恐怕是false的准则放在前方,而在OTiguan运算中,则将最有望是true的标准放在前边,这样能够进步功用!大家得以用上边的例证来证实那一点:

        function fnTrue() {
            alert(true);
            return true;
        }
        function fnFalse() {
            alert(false);
            return false;
        }
        //注意是执行两个函数,将返回值进行比较
        var a = fnFalse() && fnTrue();//只会出现一个弹窗,显示false
        //a = fnTrue() || fnFalse();//这一步只会出现一个弹窗,显示true
    

     

    而对此那七个操作符的重返值,则只要记住一点:将最终剖断的要命条件的值再次回到

        //AND中第一个为true时,还要继续判断,第二个为false,整个表达式的值为false,同时将第二个条件返回
        alert(true && false);
        //当对其它类型使用AND时也是这样的
        alert(null && Object);//将返回null,因为在AND运算中第一条件为false,就无须继续了
        //同理,OR运算也是如此
        alert(Object || String);//返回Object,因为它的逻辑值是true
        alert(false || NaN);//返回NaN
    

     

    本文由68399皇家赌场发布于企业邮局,转载请注明出处:Javascript 按位取反运算符 _基本功知识_脚本之家

    关键词: 68399皇家赌场 脚本 之家 基础知识 运算符