• 算数运算符

算数运算符有+、-、*、/、%、++、--、=、类似+=的运算符,其使用方式与编程语言(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

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

 <script type="text/javascript">

      i=5+5;

      document.write("i的值是:"+i+"<br>");//

      i="5"+"5";

      document.write("i的值是:"+i+"<br>");//

      i=5+"5";

      document.write("i的值是:"+i+"<br>");//

 </script>
  • 位运算符

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

 <script type="text/javascript">

    var iNum1 = 25;      //25 等于00000000000000000000000000011001

    var iNum2 = ~iNum1;// 转换为11111111111111111111111111100110

    document.write(iNum2+"<br>");//输出 "-26"

     var iResult = 25 & 3;

      /*
25 = 0000 0000 0000 0000 0000 0000 0001 1001
3 = 0000 0000 0000 0000 0000 0000 0000 0011
---------------------------------------------
AND = 0000 0000 0000 0000 0000 0000 0000 0001
*/ document.write(iResult+"<br>");//输出 "1" var iResult = 25 | 3; /*
25 = 0000 0000 0000 0000 0000 0000 0001 1001
3 = 0000 0000 0000 0000 0000 0000 0000 0011
--------------------------------------------
OR = 0000 0000 0000 0000 0000 0000 0001 1011
*/ document.write(iResult+"<br>");//输出 "27" var iResult = 25 ^ 3; /*
25 = 0000 0000 0000 0000 0000 0000 0001 1001
3 = 0000 0000 0000 0000 0000 0000 0000 0011
---------------------------------------------
XOR = 0000 0000 0000 0000 0000 0000 0001 1010
*/ document.write(iResult+"<br>");//输出 "26" </script>
  • Boolean运算(!(求反运算)、&&(与运算)、||(或运算))

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

  • 关系运算(<、>、<=、>=、==、!=)
 <script type="text/javascript">

     var bool = 2<1;

      document.write(bool+"<br>");//输出false

     var bool = "a"<"b";//字母 a的字符代码是 97,字母b的字符代码是 98

      document.write(bool+"<br>");//输出ture

     var bool = "98"<97;//字符串 "98"将被转换成数字 98

      document.write(bool+"<br>");//输出false

     var bool = "a"<9999;//这样比较总是返回false,不管是<、>、<=、>=

      document.write(bool+"<br>");//输出false

 </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。

 <script type="text/javascript">

     var i = "66";

      var j = 66;

      document.write((i == j)+"<br>");//输出 "true"

      document.write((i === j)+"<br>");//输出 "false"

      document.write((i != j)+"<br>");//输出 "fale"

      document.write((i !== j)+"<br>");//输出 "true"

 </script>
  • 条件运算符

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

 <script type="text/javascript">

      var num1=25,num2=565;

      var max = (num1>num2) ? num1 : num2;//取最大值

      document.write(max+"<br>");//输出 "true"

 </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 类型的。

 <script type="text/javascript">

     var temp1="Jackie";

      var temp2;//Undefined类型只有一个值,即 undefined。当声明的变量未初始化时,该变量的默认值是 undefined。

      document.write((typeof temp1)+"<br>");//string

      document.write((typeof temp2)+"<br>");//undefined

      document.write((typeof 86)+"<br>");//number

      document.write((typeof null)+"<br>");//object

 </script>

 /*Undefined:Undefined类型只有一个值,即 undefined。当声明的变量未初始化时,该变量的默认值是 undefined。
null:另一种只有一个值的类型是 Null,它只有一个专用值 null,即它的字面量。值 undefined 实际上是从值 null 派生来的,因此 ECMAScript 把它们定义为相等的。alert(null == undefined); //输出 "true"。
*/

d.delete运算符

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

 <script type="text/javascript">

     var o = new Object;

      o.name = "Jackie";

      document.write(o.name+"<br>");   //输出 "Jackie"

     delete o.name;

      document.write(o.name+"<br>");   //输出 "undefined"

 </script>

e. instanceof运算符

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

 <script type="text/javascript">

     function Car()//使用原型方式(或混合的构造函数/原型方式)声明instanceof才有用
{} var car=new Car(); document.write((car instanceof Car)+"<br>");//输出 true </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。

附上截图:

  • 运算符思维导图

JavaScript基础3——关于运算符的更多相关文章

  1. JavaScript基础:比较运算符——==与 ===;!=与!==

    var x=10, y="10", m=15 x==y;//返回true x===y;//返回false x!=y;//返回false x!==y;//返回true//同理cons ...

  2. JavaScript基础&实战(2)js中的强制类型转换、运算符、关系运算符、逻辑运算符、条件运算符

    文章目录 1.强制类型转换Number 1.1 代码 1.2 测试结果 2.进制表示 2.1 代码 2.2 测试结果 3.强制类型转换为Boolea 3.1 代码 3.2 测试结果 4.运算符 4.1 ...

  3. JavaScript基础之运算符及全面的运算符优先级总结

    算数运算符: 加+,减—,乘*,除/,求余%,加加++,减减——, 加减乘除求余运算与数学上的用法完全一样. 不过,加号+还有连接字符串的作用,其他运算符还可以将字符串数字转换成数值型,参见JavaS ...

  4. JavaScript基础

    JavaScript基础 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处 ...

  5. 前端之JavaScript基础

    前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...

  6. JavaScript 基础回顾——对象

    JavaScript是基于对象的解释性语言,全部数据都是对象.在 JavaScript 中并没有 class 的概念,但是可以通过对象和类的模拟来实现面向对象编程. 1.对象 在JavaScript中 ...

  7. javascript基础01

    javascript基础01 Javascript能做些什么? 给予页面灵魂,让页面可以动起来,包括动态的数据,动态的标签,动态的样式等等. 如实现到轮播图.拖拽.放大镜等,而动态的数据就好比不像没有 ...

  8. javascript基础02

    javascript基础02 1.数据类型 数据类型的描述在上篇的扩展中有写到链接 由于ECMAScript数据类型具有动态性,因此的确没有再定义其他数据类型的必要.这句话很重要. 如果以后再数据类型 ...

  9. javascript基础03

    javascript基础03 1. 算术运算符 后增量/后减量运算符 ++ ,-- 比较运算符 ( >, <, >=, <=, ==, !=,===,!== ) 逻辑运算符( ...

随机推荐

  1. [NOIP]玩具装箱

    题目:(非常经典的模拟赛题,适合动规入门的OIer) 简要分析:   动态规划,用一维数组 f[i] 表示从位置1 到 位置i 的最优花费 ,由于 f[i ] 以前的最优花费都是确定的,故只需要在 1 ...

  2. python学习笔记 map&&reduce

    ---恢复内容开始--- 1.map 1)map其实相当对吧运算符进行一个抽象,返回的是一个对象,但是这里不知道为什么不可以对一个map返回变量打印两次,难道是因为回收了? def f(x): ret ...

  3. ASP.NET中HttpContext.Cache的使用

    -------------------------------键 --值-----依赖-----过期时间-------------------------------绝对过期------------- ...

  4. ASP.NET没有魔法——ASP.NET Identity 的“多重”身份验证代码篇

    上篇文章介绍了ASP.NET中身份验证的机制与流程,本文将使用代码的来介绍如何实现第三方账户验证与双因子验证. 本章主要内容有: ● 实现基于微软账户的第三方身份验证 ● 实现双因子身份验证 ● 验证 ...

  5. C#开发Windows窗体应用程序的步骤

    使用C#开发应用程序时,一般包括创建项目.界面设计.设置属性.编写程序代码.保存项目.程序运行等6个步骤. 1.创建项目 在Visual Studio2017开发环境中选择“文件”→“新建”→“项目” ...

  6. HDU1864--01背包

    最大报销额 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  7. 关于verilog中语句可不可综合

    1)所有综合工具都支持的结构:always,assign,begin,end,case,wire,tri,aupply0,supply1,reg,integer,default,for,functio ...

  8. SQL Server学习之路(八):扩展SQL语句

    0.目录 1.问题描述 2.第一种方法 通过GROUP BY子句解决 3.第二种方法 通过聚合函数解决 4.第三种方法 在select...from...中的from后面嵌套一个表 5.第四种方法 在 ...

  9. java线程池的创建使用

    利用java的多线程编程可以大大的提高系统的并发运行效率,线程越多并发执行的任务就越多,但是并不意味着效率会一直提高,相反会得到适得其反的效果. java中的多线程编程一共有三种方法: 继承Threa ...

  10. Android数据加密概述及多种加密方式 聊天记录及账户加密 提供高质量的数据保护

    Android数据加密概述及多种加密方式 聊天记录及账户加密 提供高质量的数据保护 数据加密又称password学,它是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文.而解密则是通过解密 ...