• 算数运算符

算数运算符有+、-、*、/、%、++、--、=、类似+=的运算符,其使用方式与编程语言(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. web工程自动部署(tomcat服务器)

    工作中经常需要把web项目打成war包之后部署到tomcat服务器上,每次更新时步骤比较类似,这里提供公共步骤,编写名为auto_deploy.sh的shell脚本,只需要传递两个参数即可自动完成部署 ...

  2. SQL Server 基本操作之三种增加法

    前言: 数据库操作避免不了对数据的操作,操作方法大同小异,万变不离其宗,今就写一下各种花式操作的根本增删改查四种操作,今天我们就来说一下增加操作的三种方法 正文: 增加操作是对数据库进行数据行的添加, ...

  3. laravel webpack填坑(陆续更)

    ie Promise支持需引入babel-polyfill, 在官方文档中js函数介绍有点少导致按babel-polyfill官方引入时找不到北 //webpack.mix.jsmix.js(['no ...

  4. Winform远程更新代码

    本软件具备以下形: 1.通过http形式在客户端更新winform代码文件 2.在服务端通过软件生成xml配置文件,客户端通过比对xml配置文件来更新代码文件. 服务端: 在服务器上建立一个IIS发布 ...

  5. asp.net core 实现一个简单的仓储

    一直有自己写个框架的想法,但是一直没有行动起来,最近比较闲,正好可以开工了. 现在已经完成了两部分.1.一个简单仓储,实现使用的是ef 2.IOC部分,这里是把内置的ioc替换成了aotofac,这部 ...

  6. A workaround to change shared memory size for Docker containers in AWS ECS

    Issue Because of not supporting to specify the following docker run parameter, containers in ECS can ...

  7. 虚拟机创建流程中neutron代码分析(二)

    前言: 当nova服务发送了创建port的restful调用信息之后,在neutron服务中有相应的处理函数来处理调用.根据restful的工作原理,是按照 paste.ini文件中配置好的流程去处理 ...

  8. Python入门 - 控制结构

    python控制结构有:for循环, while循环, if条件语句,下面我们直接上代码. 一.for循环 a = range(5) for x in a : print(x) 0 1 2 3 4二. ...

  9. mysql建表测试

    drop table if exists news; --如果存在表则删除create table news  --创建表(        id int unsigned not null auto_ ...

  10. PHP基础 windows环境下安装Apache Mysql PHP

    本篇文章主要是讲一下我自己安装wamp环境的一些步骤和见解,前方多图预警,慎入!!!!! PHP运行环境  : Linux下的三种安装方式:源码包安装.rpm包安装.集成环境安装(lnmp) wind ...