• 运算符总结


    算术运算符,包括+ - * / % ++ --

    ++ -- 是作为前缀的话,就是先加1或者减1再使用;但是作为后缀的话就是先使用再加减。如:

    var num =2;

    var r =num++ +++num + num++;

    console(r); 这里的运算过程第一个num就先使用2,然后加1等于3,第二个num就再加1使用,所以第二个num就是4,最后一个num也是先使用,就也是4,所以r的值是10.

    然后那个计算机计算的话可能会出现误差,那么便可以使用 变量=变量.toFixed(2);这个代码来进行四舍五入,括号中的值用来设置保留几位小数。

    %这个符号是取模,就是取余数,那么我们可以用这个符号来进行判断奇偶数。如

    var num =prompt("请输入一个数");

    consolo.log("偶数?"+num%2);

    如果等出来的值是0 便是偶数,是1便是奇数。

    接下来是关系运算符

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

    分别是小于 大于 小于等于 大于等于 等于 不等于 数值和类型完全相等  数值和类型完全不相等,这些运算符大多都是用来判断布尔类型的。

    string 和 number 判断大小时, 将字符串隐式转换为number类型  这个转换的时候是用的Number()函数,所以有一个不是数字的字符就会成NaN。

    任何一个数据与NaN进行比较时,结果一定都是false 。

    string和string之间判断大小 根据每个字符的unicode码作比较。其他的话都比较简单不用一一举例,就上面几点要注意一下。

    逻辑运算符

    逻辑运算符 &&  ||  !(与 ,或,非)

    &&就是两个都要满足

    短路与;只要第一个条件为假的话,整个表达式的结果都为假,并且不会去判断第二个条件

    ||就是满足一个就行

    短路或:只要第一个条件为真的话,整个表达式的结果都为真,并且不会去判断第二个条件

    !这个的话一般配合isNaN使用,因为isNaN不符合正常人的逻辑顺序,所以把它反过来。

    位运算符

    & 按位 与 |  按位 或

    只能做数字的运算,且要将数字转换为二进制,在做运算
    & 按位 与 将两边的操作数转换成为二进制,每位的数字,只要对应都是1的时候,该位的结果才为1,否则该位结果为0

    | 按位 或 将两边的操作数转换成为二进制,比较每位上的数字,两个数字中有一个是1,则该位的结果就是1 ,否则 0

    通常&可以用来

    判断奇偶性,比模的效率要高
    判断数字与 1 做按位与 ,最后的一位 1 为奇数 0为偶数

    |用来与0作取整 位运算一定会将数据转换为二进制,而小数会被转换为整数。

    << 按位左移

    ,将二进制数,向左移动几位 ,右面以0 补位
    console.log(2 << 1);// 4
    console.log(2 << 2);// 8
    console.log(2 << 3);// 16
    console.log(2 << 4);// 32
    // 0000 0000 0001 0000,就是(a<<n);//a的n+1次方;

    >> 按位右移 将二进制数,向右移动几位,左面以0 补位
    console.log(8 >> 1);//4
    console.log(8 >> 2);//2
    console.log(8 >> 3);//1
    console.log(8 >> 4);//0

    这个(a>>n)//就是a/2的n次方,结果小于0之后就是0。

     ^  异或 将两边的数字转换为二进制 进行比较,每位上的数字,只有一个为1时,该位结果才为1,否则0

    这个可以用来交换两个变量的值

    交换num1 和num2的值
    // num1 = num1 ^ num2;
    num1 ^= num2;
    // num2 = num2 ^ num1;
    num2 ^= num1;
    // num1 = num1 ^ num2;
    num1 ^= num2;

    赋值运算符

    +=  -=  *=  /=  %=  &=  |=  ^= 

    a+=b 就等同于a=a+b,其他同理

      单目运算符

     ++ -- !
     双目运算符
     + - * / % && || ^ & | > <
     三目运算符
    需要三个操作数/表达式 表达式1 ? 表达式2 : 表达式3;
     表达式1:运算结果应该为boolean类型
    表达式1 = true 执行表达式2
     表达式1 = false 执行表达式3
    允许嵌套
    var age = prompt("请输入你的年龄:");
    如果age>=18 输出,允许考驾照 否则 输出 年龄未到

    var result = age>=18? "允许考驾照":"年龄未到";
    console.log(result);*/


    var a=100,b=12;
    var max = a > b ? a : b;
    console.log(max);

    判断成绩,如果成绩>=80 优秀

    >=60 合格
    <60 不及格*/

    var score = prompt("输入成绩:");
    var msg = score >= 80 ? "优秀" : score>=60 ? "合格":"不及格";
    console.log(msg);

  • 相关阅读:
    CSharpGL(26)在opengl中实现控件布局/渲染文字
    CSharpGL(25)一个用raycast实现体渲染VolumeRender的例子
    some OpenGL constants
    CSharpGL(24)用ComputeShader实现一个简单的图像边缘检测功能
    CSharpGL(23)用ComputeShader实现一个简单的ParticleSimulator
    CSharpGL(22)实现顺序无关的半透明渲染(Order-Independent-Transparency)
    CSharpGL(21)用鼠标拾取、拖拽VBO图元内的点、线或本身
    批量重命名文件
    [译]基于GPU的体渲染高级技术之raycasting算法
    CSharpGL(20)用unProject和Project实现鼠标拖拽图元
  • 原文地址:https://www.cnblogs.com/yzxyzx/p/11228545.html
Copyright © 2020-2023  润新知