JavaScript基础——使用运算符
JavaScript运算符允许你改变一个变量的值。你已经熟悉了用于赋值给变量的=运算符。JavaScript提供了几种不同的运算符,它们可以划分为两大类:算数运算符和赋值运算符。
1、算数运算符
你可以使用算数运算符来执行变量和直接值之间的操作。具体可见下表:
JavaScript的算数运算符,其结果基于y = 4最初值
| 运 算 符 | 说 明 | 示 例 | x 结果 |
| + | 加 |
x=y+5 x=y+"5" x="Four"+y+"4" |
9 "45" "Four44" |
| - | 减 | x=y-2 | 2 |
| ++ | 递增 |
x=y++ x=++y |
4 5 |
| -- | 递减 |
x=y-- x=--y |
4 3 |
| * | 乘 | x=y*4 | 16 |
| / | 除 | x=10/y | 2.5 |
| % | 模(除法的取余) | x=y%3 | 1 |
注意:你也可以使用+运算符来连接字符串或将字符串和数值加在一起。这可以快速连接字符串,以及将数值数据添加到输出字符串。
2、赋值运算符
你可以使用赋值运算符把值赋给一个变量。除了=运算符,还有几种不同的形式,可以让你在给一个值赋值时操作数据。
JavaScript的赋值运算符,其结果基于x=10的初始值
| 运 算 符 | 示 例 | 相当于算数运算符 | x 结果 |
| = | x=5 | x=5 | 5 |
| += | x+=5 | x=x+5 | 15 |
| -= | x-=5 | x=x-5 | 5 |
| *= | x*=5 | x=x*5 | 50 |
| /= | x/=5 | x=x/5 | 2 |
| %= | x%=5 | x=x%5 | 0 |
3、运用比较和条件运算符
使用条件语句是一种把逻辑应用到你的应用程序的方法,例如,某些代码只有在正确的条件下才能执行。你可以通过对变量的值应用比较逻辑来做到这一点。以下各节描述了可在
JavaScript中使用的比较,以及如何将它们应用在条件语句中。
比较运算符
比较运算符计算两部分数据,如果计算记过是正确的,则返回true;如果计算结果是不正确的,则返回false。比较运算符对运算符左边的值和右边的值执行比较。
JavaScript的比较运算,其结果基于x=10的初始值
| 运 算 符 | 说 明 | 示 例 | 结 果 |
| == | 等于(只是值) |
x==8 x==10 |
false true |
| === | 值和类型都相等 |
x===10 x==="10" |
true false |
| != | 不等于 | x!=5 | true |
| !== | 值和类型都不相等 |
x!=="10" x!==10 |
true false |
| > | 大于 | x>5 | true |
| >= | 大于或等于 | x>=10 | true |
| < | 小于 | x<5 |
false |
| <= | 小于或等于 | x<=10 |
true |
你可以使用逻辑运算符和标准圆括弧号链接多重比较。下表显示了逻辑运算符的列表,以及如何使用它们将比较链接在一起。
JavaScript的比较运算,其结果基于x=10,y=5的初始值
| 运 算 符 | 说 明 | 示 例 | 结 果 |
| && | 并且 |
(x==10 && y==5) (x==10 && y>x) |
true false |
| || | 或者 |
(x>=10 || y>x) (x<10 && y>x) |
true false |
| ! | 否 |
!(x==y) !(x>y) |
true false |
| 混合 |
(x>=10 && y<x || x==y) ((x<y || x>=10) && y>=5) (!(x==y) && y>=10) |
ture true false |
使用if语句
if语句可以让你基于一个比较计算来分离代码执行。下面的代码行显示在()中的条件运算符和如果条件计算结果为true要执行在{}中的代码:
if(x==5){
do_something();
}
除了只在if语句块中执行的代码外,你还可以指定一个else块,它仅当条件是false时才执行。例如:
if(x==5){
do_something;
}else{
do_something_else;
}
你也可以将if语句链接在一起。要做到这一点,添加一个条件语句以及一个else语句,如下例所示:
if(x<5){
do_something;
}else if(x<10){
do_something_else;
}else{
do_nothing;
}
实现switch语句
另一种类型的条件逻辑是switch语句。switch语句使你可以计算一个表达式,然后基于该值,执行代码的众多不同的部分之一。
switch语句的语法是:
switch(表达式){
case value1:
<要执行的代码>
break;
case value2:
<要执行的代码>
break;
default:
<如果不是value1也不是value2要执行的代码>
}
其执行的原理是:switch语句完全计算表达式,并得到一个值。该值可以是字符串、数值、布尔值、甚至是一个对象。然后再使用case语句指定的每个值与switch表达式做比较。如果值匹配,则执行case语句中的代码。如果没有匹配的值,那么执行default(默认)的代码。
注意:
通常每个case语句都在最后包括break命令,表示从switch语句中断。如果没有找到break,那么代码继续执行下一个case语句。
JavaScript基础——使用运算符的更多相关文章
- JavaScript基础之运算符及全面的运算符优先级总结
算数运算符: 加+,减—,乘*,除/,求余%,加加++,减减——, 加减乘除求余运算与数学上的用法完全一样. 不过,加号+还有连接字符串的作用,其他运算符还可以将字符串数字转换成数值型,参见JavaS ...
- 【javascript基础】运算符优先级
优先级 运算类型 关联性 运算符 1 成员运算符 从左到右 . [] new 从右到左 new 2 函数调用运算符 从左到右 () 3 自增运算符 n/a ++ 自减运算符 n/a -- 4 逻辑非运 ...
- 第2天:JavaScript基础(运算符、案例、循环、冒泡以及prompt提示输入框)
一元运算在前在后的区别 加加 var num1 = 10; //++在后面 先参与运算 再自加1 var sum1 = num1++ +10; console.log("sum1的值:&qu ...
- javascript基础系列(入门前须知)
-----------------------小历史---------------------------- javascript与java是两种语言,他们的创作公司不同,JavaScript当时是借 ...
- JavaScript基础&实战(2)js中的强制类型转换、运算符、关系运算符、逻辑运算符、条件运算符
文章目录 1.强制类型转换Number 1.1 代码 1.2 测试结果 2.进制表示 2.1 代码 2.2 测试结果 3.强制类型转换为Boolea 3.1 代码 3.2 测试结果 4.运算符 4.1 ...
- JavaScript基础之注释,类型,输出,运算符
JavaScript是一种依托于网页为宿主的脚本语言,JavaScript是一门非常强大的语言,尤其对于web端,用途广泛,好用,偏向于操作网页,可以操作网页中的任何一个元素,JavaScript的缺 ...
- 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中 ...
随机推荐
- iOS开发——项目需求-快速回到当前界面的顶部
利用UIWindow实现快速到达顶部 如下图,在状态栏添加一个没有颜色的UIWindow(里面添加一个按钮),实现点击这个按钮时能快速的回到当前界面的顶部 核心代码 一.利用UIWindow实现到达顶 ...
- 跟着百度学PHP[4]OOP面对对象编程-10-静态关键字static
使用static关键字可以将类中的成员标识为静态的,既可以用来标识成员属性,也可以用来标识成员方法. 以Person类为例,如果在person类中有一个“$country=’china’”的成员属性, ...
- js清空array数组的方法
方式1,splice Js代码 ,,,}; ary.length = ; Java中会报错,编译通不过. 而JS中则可以,且将数组清空了,如 Js代码 var ary = [1,2,3,4]; ...
- mysql 同步
http://dev.mysql.com/doc/refman/5.5/en/replication-howto.html http://blog.csdn.net/mycwq/article/det ...
- LINUX优化得很好的sysctl.conf配置
最近找了个不错的sysctl.conf的优化参数,在网站响应上已经算不错了的,time超时连接据说几乎为0了. 系统:centos 5.x sysctl.conf配置参数: kernel.msgmn ...
- phpstorm+Xdebug断点调试PHP
运行环境: PHPSTORM版本 : 8.0.1 PHP版本 : 5.6.2 xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dll ps : php版本和xdeb ...
- 查找问题的利器 - Git Blame
原文: http://gitbook.liuhui998.com/5_5.html 如果你要查看文件的每个部分是谁修改的, 那么 git blame 就是不二选择. 只要运行'git blame [ ...
- POJ 1503
http://poj.org/problem?id=1503 对于这个题我也是醉了,因为最开始是有学长和我们说过这个题目的,我以为我记得题目是什么意思,也就没看题目,结果按案例去理解题意,结果WA了一 ...
- ACM/ICPC 之 最短路径-dijkstra范例(ZOJ2750-POJ1135(ZOJ1298))
最短路经典算法-dijkstra范例(两道),第一道是裸的dijkstra,第二道需要枚举所有边已找到可能的情况. ZOJ2750-Idiomatic Phrases Game 题意:见Code 题解 ...
- ACM/ICPC 之 Prim范例(ZOJ1586-POJ1789(ZOJ2158))
两道Prim解法范例题型,简单的裸Prim,且两题相较以边为重心的Kruskal解法而言更适合以点为重心扩展的Prim解法. ZOJ1586-QS Network 题意:见Code 题解:直接的MST ...