• 算数运算符

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

附上截图:

  • 运算符思维导图

转载于:https://www.cnblogs.com/Jackie0714/p/4941231.html

JavaScript基础3——关于运算符相关推荐

  1. JavaScript 基础 数据类型与运算符

    JavaScript JavaScript简介 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中),后将其改名ScriptEase(客户端执 ...

  2. JavaScript基础--变量、运算符

    JavaScript组成 ECMAScript ECMAScript 是由ECMA 国际( 原欧洲计算机制造商协会)进行标准化的一门编程语言,这种语言在万维网上应用广泛,它往往被称为 JavaScri ...

  3. 【JavaScript】JavaScript基础-变量、运算符与控制语句

    一.变量 变量: 定义一个变量,系统会为之分配一块内存,程序可以用变量名来表示这块内存中的数据. 由于javascript采用的是弱类型的变量形式,因此,在声明一个变量的时候,我们不必声明它的类型,但 ...

  4. JavaScript基础学习之运算符(三)

    运算符也叫操作符       通过运算符对一个或多个值进行运算,并获取运算结果     比如:typeof就是运算符,可以将运算符结果以字符串形式返回     算术运算符       对非Number ...

  5. 2017/5 JavaScript基础4--- 表达式、运算符

    2019独角兽企业重金招聘Python工程师标准>>> 表达式是指能够计算出值得任何可用程序单元. 一.表达式 1.原始表达式 常量.直接量 :3.14  .'aaa' 关键字  : ...

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

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

  7. web前端知识集合——javascript基础篇之javascript背景历史和运行环境(一)

    前言:温故而知新,可以为长也!万变不离其宗,无论是现在web前端技术衍生出多么优秀,好用的框架,插件,都离不开这门语言的基础知识.掌握各种优秀的框架,插件,只是"善用工具的人",深 ...

  8. web前端知识集合——javascript基础篇之常量和变量(二)

    3. 变量和常量: 1.1 变量的声明: js三种方式声明变量,声明不赋值时,默认值为underfined. (1)var声明:var name='Ace',同时声明多个变量var a=1,b=2,c ...

  9. JavaScript基础语法(输出语句)

    JavaScript基础语法(输出语句) 学习路线:JavaScript基础语法(输出语句)->JavaScript基础语法(变量)->JavaScript基础语法(数据类型)->J ...

最新文章

  1. android 悬停按钮,Android悬浮按钮的使用方法
  2. validate做前端表单验证
  3. 【手写数据结构】双链表最详细图解
  4. 【单机实现系列】SCDPM2012实现数据保护
  5. windows系统-程序加载时生成栈和堆的过程
  6. SUSE各个系统版本安装saltstack方法
  7. spark java 逻辑回归_逻辑回归分类技术分享,使用Java和Spark区分垃圾邮件
  8. Recyclerview 显示多种布局 demo
  9. C51单片机——指令系统
  10. MyCat分布式数据库集群架构工作笔记0006---Mycat启动
  11. utf-8与unicode是什么关系
  12. 二维均匀分布的边缘密度函数_均匀分布
  13. 钢铁雄心II(HOI2)作弊码合辑
  14. linux zsh 终端,linux 终端命令加速-zsh让终端更优雅
  15. Java中判断一句英文中有多少个以p开头的单词
  16. Java序列化,碰到serialVersionUID不一致怎么处理?
  17. 路由器使用Caddy搭建Webdav服务
  18. iOS UITextField自动换行
  19. Lerna 入门级教程
  20. tomcat localhost log 和 tomcat catalina log分别是什么日志

热门文章

  1. java9-7 成员内部类的修饰符
  2. Nav- buttons和$ionicView
  3. [转]Javascript 绝句
  4. ASP.NET弹出一个对话框
  5. OpenCV学习资料收集
  6. linux 系统创建ora文件,手动创建oracle数据库
  7. OVS 添加端口流程(二十九)
  8. leetcode算法题--比特位计数
  9. wxpython问卷调查界面_调查问卷使用说明书,问卷就要这么设计!
  10. vc sp6 中英文和补丁下载地址