• 算数运算符

算数运算符有+、-、*、/、%、++、--、=、类似+=的运算符,其使用方式与编程语言(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>");//
  6.  
  7. i="5"+"5";
  8.  
  9. document.write("i的值是:"+i+"<br>");//
  10.  
  11. i=5+"5";
  12.  
  13. document.write("i的值是:"+i+"<br>");//
  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。

附上截图:

  • 运算符思维导图

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零基础

    utf是国际编码 gb2312 国人发明的 gbk 补充集 想看网站源代码可以按F12 <meta name ='keywords' content='设置关键字'> <meta n ...

  2. Cngigure和BUS实现远端配置

    1 server依赖 <?xml version="1.0" encoding="UTF-8"?><project xmlns="h ...

  3. Mysql相关知识点总结(一)

    information_schema库:information_schema库中的表大都是temporory表,都是只读的,不能进行更新.删除和插入等操作,也不能加触发器,因为它们实际只是一个视图,不 ...

  4. 照虎画猫写自己的Spring——依赖注入

    前言 上篇<照虎画猫写自己的Spring>从无到有讲述并实现了下面几点 声明配置文件,用于声明需要加载使用的类 加载配置文件,读取配置文件 解析配置文件,需要将配置文件中声明的标签转换为F ...

  5. HTML5开发在2017年发展趋势如何?

    随着移动互联网行业的飞速发展,人们借助于网络相互传达获取的信息越来越广泛,互联网前端开发中HTML5是最受关注的热点,HTML5让开发者和用户重新的对网页有了新的认识,从浏览器到APP都在受h5带来的 ...

  6. e2e测试之Nightmare

    一.e2e测试简介 e2e或者端到端(end-to-end)或者UI测试是一种测试方法,它用来测试一个应用从头到尾的流程是否和设计时候所想的一样.简而言之,它从一个用户的角度出发,认为整个系统都是一个 ...

  7. icheck如何修改样式大小

    icheck默认样式比较大,有需求调整checkbox大小. 1. 最简单的方法可用css3来实现,让整个模块层缩放,不兼容低版本浏览器. transform:scale(0.7,0.7)   2. ...

  8. 这一次带你彻底了解Cookie

    前言 网络早期最大的问题之一是如何管理状态.简而言之,服务器无法知道两个请求是否来自同一个浏览器.当时最简单的方法是在请求时,在页面中插入一些参数,并在下一个请求中传回参数.这需要使用包含参数的隐藏的 ...

  9. C#爬虫系列(一)——国家标准全文公开系统

    网上有很多Python爬虫的帖子,不排除很多培训班借着AI的概念教Python,然后爬网页自然是其中的一个大章节,毕竟做算法分析没有大量的数据怎么成. C#相比Python可能笨重了些,但实现简单爬虫 ...

  10. 简单的Spring Web工程跳转且传参Demo

    jdbc.properties jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://192.168.1.136:3306/ ...