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 |
下面主要演示+运算符(字符串连接符):
- <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=10 和 y=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——关于运算符的更多相关文章
- JavaScript基础:比较运算符——==与 ===;!=与!==
var x=10, y="10", m=15 x==y;//返回true x===y;//返回false x!=y;//返回false x!==y;//返回true//同理cons ...
- JavaScript基础&实战(2)js中的强制类型转换、运算符、关系运算符、逻辑运算符、条件运算符
文章目录 1.强制类型转换Number 1.1 代码 1.2 测试结果 2.进制表示 2.1 代码 2.2 测试结果 3.强制类型转换为Boolea 3.1 代码 3.2 测试结果 4.运算符 4.1 ...
- JavaScript基础之运算符及全面的运算符优先级总结
算数运算符: 加+,减—,乘*,除/,求余%,加加++,减减——, 加减乘除求余运算与数学上的用法完全一样. 不过,加号+还有连接字符串的作用,其他运算符还可以将字符串数字转换成数值型,参见JavaS ...
- JavaScript基础
JavaScript基础 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处 ...
- 前端之JavaScript基础
前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...
- JavaScript 基础回顾——对象
JavaScript是基于对象的解释性语言,全部数据都是对象.在 JavaScript 中并没有 class 的概念,但是可以通过对象和类的模拟来实现面向对象编程. 1.对象 在JavaScript中 ...
- javascript基础01
javascript基础01 Javascript能做些什么? 给予页面灵魂,让页面可以动起来,包括动态的数据,动态的标签,动态的样式等等. 如实现到轮播图.拖拽.放大镜等,而动态的数据就好比不像没有 ...
- javascript基础02
javascript基础02 1.数据类型 数据类型的描述在上篇的扩展中有写到链接 由于ECMAScript数据类型具有动态性,因此的确没有再定义其他数据类型的必要.这句话很重要. 如果以后再数据类型 ...
- javascript基础03
javascript基础03 1. 算术运算符 后增量/后减量运算符 ++ ,-- 比较运算符 ( >, <, >=, <=, ==, !=,===,!== ) 逻辑运算符( ...
随机推荐
- 腾讯课堂web零基础
utf是国际编码 gb2312 国人发明的 gbk 补充集 想看网站源代码可以按F12 <meta name ='keywords' content='设置关键字'> <meta n ...
- Cngigure和BUS实现远端配置
1 server依赖 <?xml version="1.0" encoding="UTF-8"?><project xmlns="h ...
- Mysql相关知识点总结(一)
information_schema库:information_schema库中的表大都是temporory表,都是只读的,不能进行更新.删除和插入等操作,也不能加触发器,因为它们实际只是一个视图,不 ...
- 照虎画猫写自己的Spring——依赖注入
前言 上篇<照虎画猫写自己的Spring>从无到有讲述并实现了下面几点 声明配置文件,用于声明需要加载使用的类 加载配置文件,读取配置文件 解析配置文件,需要将配置文件中声明的标签转换为F ...
- HTML5开发在2017年发展趋势如何?
随着移动互联网行业的飞速发展,人们借助于网络相互传达获取的信息越来越广泛,互联网前端开发中HTML5是最受关注的热点,HTML5让开发者和用户重新的对网页有了新的认识,从浏览器到APP都在受h5带来的 ...
- e2e测试之Nightmare
一.e2e测试简介 e2e或者端到端(end-to-end)或者UI测试是一种测试方法,它用来测试一个应用从头到尾的流程是否和设计时候所想的一样.简而言之,它从一个用户的角度出发,认为整个系统都是一个 ...
- icheck如何修改样式大小
icheck默认样式比较大,有需求调整checkbox大小. 1. 最简单的方法可用css3来实现,让整个模块层缩放,不兼容低版本浏览器. transform:scale(0.7,0.7) 2. ...
- 这一次带你彻底了解Cookie
前言 网络早期最大的问题之一是如何管理状态.简而言之,服务器无法知道两个请求是否来自同一个浏览器.当时最简单的方法是在请求时,在页面中插入一些参数,并在下一个请求中传回参数.这需要使用包含参数的隐藏的 ...
- C#爬虫系列(一)——国家标准全文公开系统
网上有很多Python爬虫的帖子,不排除很多培训班借着AI的概念教Python,然后爬网页自然是其中的一个大章节,毕竟做算法分析没有大量的数据怎么成. C#相比Python可能笨重了些,但实现简单爬虫 ...
- 简单的Spring Web工程跳转且传参Demo
jdbc.properties jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://192.168.1.136:3306/ ...