JavaScript中的6种运算符总结

JavaScript 运算符主要包括:

  1. 算术运算符
  2. 赋值运算符
  3. 比较运算符
  4. 三元运算符
  5. 逻辑运算符
  6. 字符串连接运算符

算术运算符

运算符 说明 例子 运算结果
+ y = 2+1 y = 3
- y = 2-1 y = 1
* y = 2*3 y = 6
/ 除,返回结果为浮点类型 y = 6/3 y = 2
% 求余,返回结果为浮点类型
要求两个操作数均为整数
y = 6%4 y = 2
++ 递加,分为前加和后加
对布尔值和 NULL 将无效
y = 2
++y(前加)
y++(后加)
y = 3
-- 递减,分为前递减和后递减
对布尔值和 NULL 将无效
y = 2
--y(前减)
y--(后减)
y = 1

对于前加和后加,执行后的结果都是变量加1,其区别在于执行时返回结果不一样,参考下面两个例子:

代码如下:

var x = 2;
alert(++x); //输出:3
alert(x); //输出:3

var y = 2;
alert(y++); //输出:2
alert(y); //输出:3

递减同理。

赋值运算符

赋值运算符 = 用于赋值运算,赋值运算符的作用在于把右边的值赋值给左边变量。设定 y = 6,参见下表:

运算符 例子 等价于 运算结果
= y = 6 y = 6
+= y += 1 y = y+1 y = 7
-= y -= 1 y = y-1 y = 5
*= y *= 2 y = y*2 y = 12
/= y /= 2 y = y/2 y = 3
%= y %= 4 y = y%4 y = 2

赋值运算嵌套使用

赋值运算符可以嵌套使用:

代码如下:

y = (x = 2) + 5;    //结果: x=2,y=7

比较运算符

运算符 说明 例子 运算结果
== 等于 2 == 3 FALSE
=== 恒等于(值和类型都要做比较) 2 === 2
2 === "2"
TRUE
FALSE
!= 不等于,也可写作<> 2 == 3 TRUE
> 大于 2 > 3 FALSE
< 小于 2 < 3 TRUE
>= 大于等于 2 >= 3 FALSE
<= 小于等于 2 <= 3 TRUE

比较运算符也可用于字符串比较。

三元运算符

三元可以视作是特殊的比较运算符:

代码如下:

(expr1) ? (expr2) : (expr3)

语法解释:在 expr1 求值为 TRUE 时整个表达式的值为 expr2,否则为 expr3。

例子:

代码如下:

x = 2;
y = (x == 2) ? x : 1;
alert(y); //输出:2

该例子判断 x 的值是否等于 2,如果 x 等于 2,那么 y 的值就等于 x(也就是等于2),反之 y 就等于 1。

提示

为了避免错误,将三元运算符各表达式用括号括起来是个不错的主意。

逻辑运算符

运算符 说明 例子 运算结果
&& 逻辑与(and) x = 2;
y = 6;
x && y > 5
FALSE
|| 逻辑或(or) x = 2;
y = 6;
x && y > 5
TRUE
! 逻辑非,取逻辑的反面 x = 2;
y = 6;
!(x > y)
TRUE

字符串连接运算符

连接运算符 + 主要用于连接两个字符串或字符串变量。因此,在对字符串或字符串变量使用该运算符时,并不是对它们做加法计算。

例子:

代码如下:

x = "beijing";
y = x + "你好!"; //结果:y = "beijing你好!"

// 要想在两个字符串之间增加空格,需要把空格插入一个字符串之中:
y = x + " 你好!"; //结果:y = "beijing 你好!"

当对字符串和数字做连接(加法)运算时,会将数字先转换成字符串再连接(相加):

代码如下:

x = 25;
y = "我今年" + x + "岁"; //结果:y = "我今年25岁"

(0)

相关推荐

  • js中的布尔运算符使用介绍

    在之前我们讨论到布尔运算符 && 和 || 的时候,我说过它们的结果是布尔值.这样说起来有点过于简单化了.如果你用它们来计算布尔数据类型,它们确实会返回布尔值.但是它们也能用于计算其他的类型的数据,这种时候,返回的就将是其中的一个参数了. 或运算符"||" 真正做的事是这样的:它首先检查一下它左边的参数,如果转换成布尔类型的值后为true,那么就返回左边的参数,否则就返回右边的参数. 仔细想想当运算符两边都是布尔类型的值的时候,是不是这样的.为什么它这样运行?这样运行的

  • Javascript 按位左移运算符使用介绍(<<)

    按位左移运算符 (<<)左移表达式的位. result = expression1 << expression2 参数result 任何变量. expression1 任何表达式. expression2 任何表达式. 说明<< 运算符把 expression1 的所有位向左移 expression2 指定的位数.例如: var temptemp = 14 << 2变量 temp 的值为 56,因为 14 (即二进制的 00001110)向左移两位等于 56

  • JavaScript中常用的运算符小结

    一.一元运算符 1.delete 运算符:删除对以前定义的对象属性或方法的引用.例如: var o=new Object; o.name="superman"; alert(o.name); //输出 "superman" delete o.name; alert(o.name); //输出 "undefined" 删除了name属性,将其设置为undefined(即创建的未初始化的变量的值).delete不能删除开发者未定义(即ECMAScri

  • javascript三元运算符用法实例

    三元运算符用法实例: 如名字表示的三元运算符需要三个操作数. 语法是 条件 ? 结果1 : 结果2;. 这里你把条件写在问号(?)的前面后面跟着用冒号(:)分隔的结果1和结果2.满足条件时结果1否则结果2. 复制代码 代码如下: <script type="text/javascript"> var b=5; (b == 5) ? a="true" : a="false"; document.write(" --------

  • JS中三目运算符和if else的区别分析与示例

    今天写了一个图片轮播的小demo,用到了判断 先试了一下if else,代码如下: 复制代码 代码如下: if(n >= count-1){ n =0; }else{ n ++; } 随后代码写完了,准备优化一下代码,将此段改成了三目运算符的写法 复制代码 代码如下: n = n >= (count-1) ? n=0 : n++ 结果完全不同 随后研究了一下这两者的区别,总结为一句话:三目运算有返回值,if else没有返回值 做了如下测试: 复制代码 代码如下: var n=1;  if(n

  • js 与或运算符 || && 妙用

    首先出个题:如图: 假设对成长速度显示规定如下: 成长速度为5显示1个箭头: 成长速度为10显示2个箭头: 成长速度为12显示3个箭头: 成长速度为15显示4个箭头: 其他都显示都显示0各箭头. 用代码怎么实现? 差一点的if,else: Js代码 复制代码 代码如下: var add_level = 0; if(add_step == 5){ add_level = 1; } else if(add_step == 10){ add_level = 2; } else if(add_step

  • js中运算符&& 和 || 的使用记录

    这2个运算符经常用到,总是弄混,记录下... a() && b() :如果执行a()后返回true,则执行b()并返回b的值:如果执行a()后返回false,则整个表达式返回a()的值,b()不执行: a() || b() :如果执行a()后返回true,则整个表达式返回a()的值,b()不执行:如果执行a()后返回false,则执行b()并返回b()的值: && 优先级高于 || 代码如下 alert((1 && 3 || 0) && 4)

  • Javascript 按位取反运算符 (~)

    复制代码 代码如下: result = ~ [数字] 所有一元运算符(如 ~ 运算符)都按照下面的规则来计算表达式的值: 复制代码 代码如下: 1. 如果应用于未定义的表达式或 null 表达式,则会引发一个运行时错误.2. 将对象转换为字符串.3. 如果可能,将字符串转换为数字. 否则,将引发运行时错误.4. 布尔值被视为数字(如果为 false,则为 0:如果为 true,则为 1). 运算符将应用于结果数字. ~ 运算符查看表达式的二进制表示形式的值,并执行位非运算. 表达式中的任何一位为

  • javascript每日必学之运算符

    读者朋友们好,前面我已经大概的了解了Javascript的作用以及一些基本的函数声明与变量声明,今天我们就接着前面的内容讲解,我们就来看一下javscript的逻辑(正序,分支,循环)以及一些简单的运算符 下面我们就来讲一些简单的操作运算符 + 加号:1.用来计算两个数字相加之和,2.用来拼接两个字符串 - 减号:1.用来计算两个数字相减之差,2.用在一个数字前面来标识成一个负数 * 乘号:用来计算两具数字相乘之积 / 除号:用来计算被除数除以除数后,所得的商 % 取余:用来计算被除数除以除数后

  • JS按位非(~)运算符与~~运算符的理解分析

    那么,对于typeof var!=="number"的类型来说,进行运算时,会尝试转化成32位整形数据,如果无法转换成整形数据,就转换为NaN: JS在位运算上用了更简便的一种方法来实现这中运算,那么它的实现原理大致上可以这样理解: 复制代码 代码如下: var testData=-2.9; var testResult=(typeof testData==="number"&&!isNaN(testData)&&testData!=

随机推荐