zoukankan      html  css  js  c++  java
  • JavaScript基础3——关于运算符

    • 算数运算符

    算数运算符有+、-、*、/、%、++、--、=、类似+=的运算符,其使用方式与编程语言(Java、C++、C#等)基本一样。给定 y=5,下面的表格解释了这些算术运算符:

    运算符描述例子结果
    + x=y+2 x=7
    - x=y-2 x=3
    * x=y*2 x=10
    / x=y/2 x=2.5
    % 求余数 (保留整数) x=y%2 x=1
    ++ 累加 x=++y x=6
    -- 递减 x=--y x=4

    下面主要演示+运算符(字符串连接符):

     

     1 <script type="text/javascript">
     2 
     3      i=5+5;
     4 
     5      document.write("i的值是:"+i+"<br>");//10
     6 
     7      i="5"+"5";
     8 
     9      document.write("i的值是:"+i+"<br>");//55
    10 
    11      i=5+"5";
    12 
    13      document.write("i的值是:"+i+"<br>");//55
    14 
    15 </script>
    • 位运算符

    位运算符主要包括(~(非运算)、&(与运算)、|(或运算)、^(异或运算))。

     1 <script type="text/javascript">
     2 
     3    var iNum1 = 25;      //25 等于00000000000000000000000000011001
     4 
     5    var iNum2 = ~iNum1;// 转换为11111111111111111111111111100110
     6 
     7    document.write(iNum2+"<br>");//输出 "-26"
     8 
     9     var iResult = 25 & 3;
    10 
    11      /*
    12      25 = 0000 0000 0000 0000 0000 0000 0001 1001
    13       3 = 0000 0000 0000 0000 0000 0000 0000 0011
    14      ---------------------------------------------
    15    AND = 0000 0000 0000 0000 0000 0000 0000 0001
    16      */
    17 
    18    document.write(iResult+"<br>");//输出 "1"
    19 
    20    var iResult = 25 | 3;
    21 
    22      /*
    23      25 = 0000 0000 0000 0000 0000 0000 0001 1001
    24       3 = 0000 0000 0000 0000 0000 0000 0000 0011
    25      --------------------------------------------
    26      OR = 0000 0000 0000 0000 0000 0000 0001 1011
    27      */
    28 
    29    document.write(iResult+"<br>");//输出 "27"
    30 
    31    var iResult = 25 ^ 3;
    32 
    33      /*
    34      25 = 0000 0000 0000 0000 0000 0000 0001 1001
    35       3 = 0000 0000 0000 0000 0000 0000 0000 0011
    36      ---------------------------------------------
    37    XOR = 0000 0000 0000 0000 0000 0000 0001 1010
    38      */
    39 
    40    document.write(iResult+"<br>");//输出 "26"
    41 
    42 </script>
    • Boolean运算(!(求反运算)、&&(与运算)、||(或运算))

    对boolean值进行的运算,与编程语言的运算方式基本一致。

    • 关系运算(<、>、<=、>=、==、!=)
     1 <script type="text/javascript">
     2 
     3     var bool = 2<1;
     4 
     5      document.write(bool+"<br>");//输出false
     6 
     7     var bool = "a"<"b";//字母 a的字符代码是 97,字母b的字符代码是 98
     8 
     9      document.write(bool+"<br>");//输出ture
    10 
    11     var bool = "98"<97;//字符串 "98"将被转换成数字 98
    12 
    13      document.write(bool+"<br>");//输出false
    14 
    15     var bool = "a"<9999;//这样比较总是返回false,不管是<、>、<=、>=
    16 
    17      document.write(bool+"<br>");//输出false
    18 
    19 </script>
    • 等性运算符(==、===、!=、!==)

    下表是一些特殊情况的值:

    表达式

    表达式

    表达式

    null==undefined

    true

    “NaN”==NaN

    false

    5==NaN

    false

    NaN==NaN

    false

    NaN!=NaN

    true

    false==0

    true

    true==1

    true

    true==2

    false

    undefined==0

    false

    null==0

    fale

    “5”==5

    true

     

     

    全等号由三个等号表示(===),只有在无需类型转换运算数就相等的情况下,才返回 true。

     1 <script type="text/javascript">
     2 
     3     var i = "66";
     4 
     5      var j = 66;
     6 
     7      document.write((i == j)+"<br>");//输出 "true"
     8 
     9      document.write((i === j)+"<br>");//输出 "false"
    10 
    11      document.write((i != j)+"<br>");//输出 "fale"
    12 
    13      document.write((i !== j)+"<br>");//输出 "true"
    14 
    15 </script>
    • 条件运算符

    variable = boolean_expression ? true_value : false_value;条件运算符与编程语言的使用方式基本一致。

    1 <script type="text/javascript">
    2 
    3      var num1=25,num2=565;
    4  
    5      var max = (num1>num2) ? num1 : num2;//取最大值
    6 
    7      document.write(max+"<br>");//输出 "true"
    8 
    9 </script>
    • 其他运算符

    a. 赋值运算符

    每种主要的算术运算以及其他几个运算都有复合赋值运算符:

      • 乘法/赋值(*=)
      • 除法/赋值(/=)
      • 取模/赋值(%=)
      • 加法/赋值(+=)
      • 减法/赋值(-=)
      • 左移/赋值(<<=)
      • 有符号右移/赋值(>>=)
      • 无符号右移/赋值(>>>=)

    给定 x=10y=5,下面的表格解释了赋值运算符:

    运算符例子等价于结果
    = x=y   x=5
    += x+=y x=x+y x=15
    -= x-=y x=x-y x=5
    *= x*=y x=x*y x=50
    /= x/=y x=x/y x=2
    %= x%=y x=x%y x=0

    b.逗号运算符

    用逗号运算符可以在一条语句中执行多个运算。

    例如:var iNum1 = 1, iNum = 2, iNum3 = 3;

    c.typeof运算符

    typeof 运算符有一个参数,即要检查的变量或值,对变量或值调用 typeof 运算符将返回下列值之一:Undefined:如果变量是 Undefined 类型的;Boolean:如果变量是 Boolean 类型的;Number:如果变量是 Number 类型的;String:如果变量是 String 类型的;Object:如果变量是一种引用类型或 Null 类型的。

     1 <script type="text/javascript">
     2 
     3     var temp1="Jackie";
     4 
     5      var temp2;//Undefined类型只有一个值,即 undefined。当声明的变量未初始化时,该变量的默认值是 undefined。
     6 
     7      document.write((typeof temp1)+"<br>");//string
     8 
     9      document.write((typeof temp2)+"<br>");//undefined
    10 
    11      document.write((typeof 86)+"<br>");//number
    12 
    13      document.write((typeof null)+"<br>");//object
    14 
    15 </script>
    16 
    17 /*Undefined:Undefined类型只有一个值,即 undefined。当声明的变量未初始化时,该变量的默认值是 undefined。
    18 null:另一种只有一个值的类型是 Null,它只有一个专用值 null,即它的字面量。值 undefined 实际上是从值 null 派生来的,因此 ECMAScript 把它们定义为相等的。alert(null == undefined); //输出 "true"。
    19 */

    d.delete运算符

    delete 运算符删除对以前定义的对象属性或方法的引用。例如:

     1 <script type="text/javascript">
     2 
     3     var o = new Object;
     4 
     5      o.name = "Jackie";
     6 
     7      document.write(o.name+"<br>");   //输出 "Jackie"
     8 
     9     delete o.name;
    10 
    11      document.write(o.name+"<br>");   //输出 "undefined"
    12 
    13 </script>

    e. instanceof运算符

    能用 instanceof 运算符检查给定变量指向的对象的类型。例如:

     

     1 <script type="text/javascript">
     2 
     3     function Car()//使用原型方式(或混合的构造函数/原型方式)声明instanceof才有用
     4      {}
     5 
     6      var car=new Car();
     7 
     8      document.write((car instanceof Car)+"<br>");//输出 true
     9 
    10 </script>

     

     

    使用instanceof 运算符会出现很多意想不到的结果,建议不用。使用原型方式(或混合的构造函数/原型方式)声明instanceof才有用

    注:数据类型转换

     

    String() 转换为字符串类型
    Number() 转换为数字类型
    Boolean() 转换为布尔类型

     

    parseInt:将字符串转换为整数。从字符串的开头开始解析,在第一个非整数的位置停止解析,并返回前面读到所有的整数。如果字符串不是以整数开头的,将返回NaN。如:parseInt(“150 hi”)返回的值是:150,parseInt("hi")返回的值是:NaN。
    parseFloat:将字符串转换为浮点数。 从字符串的开头开始解析,在第一个非整数的位置停止解析,并返回前面读到所有的整数。如果字符串不是以整数开头的,将返回NaN。如:parseFloat("15.5 hi") 返回的值是:15.5,parseFloat("hi 15.5")返回的值是:NaN。

     

    eval:将字符串作为javascript表达式进行计算,并返回执行结果,如果没有结果则返回undefined。

    附上截图:

          

     

    • 运算符思维导图

     

  • 相关阅读:
    C#GridViewExport帮助类,美化导出
    C#EXCEL 操作类--C#DataToExcel帮助类
    C#EXCEL 操作类--C#ExcelHelper操作类
    VS2010 项目引用了DLL文件,也写了Using,但是编译时提示:未能找到类型或命名空间名称 <转>
    FPGA Verilog HDL 系列实例--------步进电机驱动控制
    C++使用VARIANT实现二维数组的操作
    VS2010+VMWare8+VisualDDK1.5.6 创建并调试你的第一个驱动程序
    USB编程研究之二(常见设备类型的GUID)
    C++——CString用法大全
    C++ 如何有效地使用对话框
  • 原文地址:https://www.cnblogs.com/Jackie0714/p/4941231.html
Copyright © 2011-2022 走看看