javascript20150124
表达式与运算符 表达式 与数学中的定义相似,表达式是指具有一定的值的、用运算符把常数和变量连接起来的代数式。一个表达式可以只包含一个常数或一个变量。运算符可以是四则运算符、关系运算符、位运算符、逻辑运算符、复合运算符。下表将这些运算符从高优先级到低优先级排列:
| 括号 | (x) [x] | 中括号只用于指明数组的下标 |
| 求反、自加、自减 | -x | 返回 x 的相反数 |
| !x | 返回与 x (布尔值)相反的布尔值 | |
| x++ | x 值加 1,但仍返回原来的 x 值 | |
| x-- | x 值减 1,但仍返回原来的 x 值 | |
| ++x | x 值加 1,返回后来的 x 值 | |
| --x | x 值减 1,返回后来的 x 值 | |
| 乘、除 | x*y | 返回 x 乘以 y 的值 |
| x/y | 返回 x 除以 y 的值 | |
| x%y | 返回 x 与 y 的模(x 除以y 的余数) | |
| 加、减 | x+y | 返回 x 加 y 的值 |
| x-y | 返回 x 减 y 的值 | |
| 关系运算 | x<y x<=y x>=y x>y | 当符合条件时返回 true 值,否则返回 false 值 |
| 等于、 不等于 | x==y | 当 x 等于 y 时返回 true 值,否则返回 false 值 |
| x!=y | 当 x 不等于 y 时返回 true 值,否则返回 false 值 | |
| 位与 | x&y | 当两个数位同时为 1 时,返回的数据的当前数位为 1,其他情况都为 0 |
| 位异或 | x^y | 两个数位中有且只有一个为 0 时,返回 0,否则返回 1 |
| 位或 | x|y | 两个数位中只要有一个为 1,则返回 1;当两个数位都为零时才返回零 |
| 位运算符通常会被当作逻辑运算符来使用。它的实际运算情况是:把两个操作数(即 x 和 y)化成二进制数,对每个数位执行以上所列工作,然后返回得到的新二进制数。由于“真”值在电脑内部(通常)是全部数位都是 1 的二进制数,而“假”值则是全部是 0 的二进制数,所以位运算符也可以充当逻辑运算符。 | ||
| 逻辑与 | x&&y | 当 x 和 y 同时为 true 时返回 true,否则返回 false |
| 逻辑或 | x||y | 当 x 和 y 任意一个为 true 时返回 true,当两者同时为 false 时返回 false |
| 逻辑与/或有时候被称为“快速与/或”。这是因为当第一操作数(x)已经可以决定结果,它们将不去理会 y 的值。例如,false && y,因为x == false,不管 y 的值是什么,结果始终是 false,于是本表达式立即返回 false,而不论 y 是多少,甚至 y 可以导致出错,程序也可以照样运行下去。 | ||
| 条件 | c?x:y | 当条件 c 为 true 时返回 x 的值(执行 x 语句),否则返回 y 的值(执行 y 语句) |
| 赋值、 复合运算 | x=y | 把 y 的值赋给 x,返回所赋的值 |
| x+=y x-=y x*=y x/=y x%=y | x 与 y 相加/减/乘/除/求余,所得结果赋给 x,并返回 x 赋值后 | |
注意 所有与四则运算有关的运算符都不能作用在字符串型变量上。字符串可以使用 +、+= 作为连接两个字符串之用。
提示 请密切注意运算的优先级。编程时如果不记得运算符的优先级,可以使用括号( )。例如:(a == 0)||(b == 0)。
一些用来赋值的表达式,由于有返回的值,可以加以利用。例如,用以下语句:a = b = c = 10,可以一次对三个变量赋值。
<script> var score= ;
switch (parseInt(score / )) {
case :
case :
case :
case :
case :
case :
result = 'fail';
break;
case :
case :
result = 'pass';
break;
case :
result = 'good';
break;
case :
result = 'excellent';
break;
default:
if (score == )
result = 'excellent';
else
result = 'error';
} document.write(result);
</script>
javascript20150124的更多相关文章
随机推荐
- ES6 let const学习
1.let命令:用法类似于var,但是所声明的变量,只在let命令所在的代码块有效. 例:var a = [ ]; for(var i=0;i<10;i++){ a[ i ] = functio ...
- Elasticsearch .net client NEST 空字符/null值查询
null值查询 当某个字段值为null时,其实在es里该条数据是没有这个字段的.查询时检测包含不包含该字段就行. /// <summary> /// null 值查询 /// 当数据为Nu ...
- Caffe+CUDA8.0+CuDNNv5.1+OpenCV3.1+Ubuntu14.04 配置参考文献 以及 常见编译问题总结
Caffe + CUDA8.0 + CuDNNv5.1 + OpenCV3.1 + Ubuntu14.04 配置参考文献 ---- Wang Xiao Anhui University CVPR ...
- MapReduce实现PageRank算法(稀疏图法)
前言 本文用Python编写代码,并通过hadoop streaming框架运行. 算法思想 下图是一个网络: 考虑转移矩阵是一个很多的稀疏矩阵,我们可以用稀疏矩阵的形式表示,我们把web图中的每一个 ...
- 原生js点击按钮切换图片
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 小程序modal解决
data{ shareDialog:false, } <cover-view wx:if="{{shareDialog}}" class="list_tab&quo ...
- 在微信浏览器中 location.reload() 不刷新解决方案(直接调用方法)
1.问题 在微信浏览器中,需要时刷新当前页面. 正常情况下我们直接使用 location.reload 方法来刷新. 2.解决方法 function realod(){ var {search,hre ...
- C# 封装SDK 获取摄像头的水平角度和垂直角度
最近需要做一个C#版本的控制终端,控制摄像头,获取摄像头的水平角度和垂直角度 获取当前摄像头的角度,需要调用一个名为NET_DVR_GetDVRConfig的bool类型的函数 在C++中,函数定义: ...
- 软件理论基础—— 第一章命题逻辑系统L
逻辑 语法 语义 推理系统 公理 推理规则 MP A,A->B =>B HS A->B,B->C => A->C 命题逻辑公式 ::= BNF backus ...
- 第二章 Java 基本语法1
2.1关键字 1.定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词). 2.特点:关键字中所有字母都是小写字母. 3.分类: 用于定义数据类型的关键字:byte.short.int.lo ...