表达式与运算符 表达式 与数学中的定义相似,表达式是指具有一定的值的、用运算符把常数和变量连接起来的代数式。一个表达式可以只包含一个常数或一个变量。运算符可以是四则运算符、关系运算符、位运算符、逻辑运算符、复合运算符。下表将这些运算符从高优先级到低优先级排列:

括号 (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的更多相关文章

随机推荐

  1. ajax错误类型大全

    https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html ajax错误类型大全

  2. Navicat无法连接SqlServer数据库

    一.起因 原来安装过SqlServer 2008 R2,后来不用卸载了(没清理,单卸载),之后一直通过Navicat远程连接服务器的SqlServer使用. 前两天工作需要,又安装了SqlServer ...

  3. Lintcode228-Middle of Linked List-Naive

    228. Middle of Linked List Find the middle node of a linked list. Example Example 1: Input: 1->2- ...

  4. React-native完整配置流程

    开头敲黑板!! 无论你是RN的新手还是老手,跟着流程走,RN项目搭建起来完全不是问题!   一.网址收集 expo配置网址:https://blog.expo.io/building-a-react- ...

  5. 《图解Java多线程设计模式》读书笔记

    略读中...后面详读的时候,补充经典图片和文字说明

  6. 解决macOS因为它来自身份不明的开发者,不显示允许任何来源 –安装文件下载损坏问题

    打开时提示"已损坏,打不开.您应该将它移到废纸篓"或身份验证,因为它来自身份不明的开发者,和不显示允许任何来源,图片解锁和应用程序问题(如图片/application应用程序损坏, ...

  7. Struts 2 框架搭建HelloWorld

    1.导包 导入相应的jar包,在blank项目中会出现 2.书写Action类 package com.littlepage.struts; public class HelloAction { pu ...

  8. ExtJs写本地ArrayStore,ComboBox调用

    1.自定义本地ArrayStore var sCurStore = new Ext.data.ArrayStore({ //设备状态store fields: ["ckey", & ...

  9. 软件理论基础—— 第一章命题逻辑系统L

    逻辑 语法 语义 推理系统 公理 推理规则 MP A,A->B =>B HS A->B,B->C => A->C 命题逻辑公式 ::=     BNF backus ...

  10. OO第二单元多线程电梯总结分析

    一.概述 这一部分的作业考察的关注点与上一次的作业有所不同,上一次的考察重点主要集中在输入输出的判定以及多态的考察上面,而这一次是让我们进行多线程程序的调度与开发.这次开发过程中最大的感受就是自己之前 ...