JavaScript 入门·JavaScript 具有全范围的运算符


Posted in Javascript onOctober 01, 2007

复合赋值运算符

运算符 符号
加法 +=
按位与 &=
按位或 |=
按位异或 ^=
除法 /=
左移
取模 %=
乘法 *=
右移 >>=
减法 -=
无符号右移 >>>=

要求

版本信息

条件(三目)运算符 (?:)

根据条件执行两个语句中的其中一个。

test ? 语句1 : 语句2

参数

test

任何 Boolean 表达式。

语句1

testtrue 时执行的语句。可以是复合语句。

语句2

testfalse 时执行的语句。可以是复合语句。

说明

?: 运算符是 if...else 语句的快捷方式。它通常被用作较大表达式的一部分,而在此处使用 if...else 语句是不协调的。例如:

var now = new Date();
var greeting = "Good" + ((now.getHours() > 17) ? " evening." : " day.");

在该例子中,如果是 6pm 以后,则创建一个包含 "Good evening." 的字符串。使用 if...else 语句的等效代码如下:

var now = new Date();
var greeting = "Good";
if (now.getHours() > 17)
   greeting += " evening.";
else
   greeting += " day.";

要求

版本 1

请参阅

if...else 语句 | 运算符优先级 | 运算符总结

delete 运算符

从对象中删除一个属性,或从数组中删除一个元素。

delete expression

expression 参数是一个有效的 JScript 表达式,通常是一个属性名或数组元素。

说明

如果 expression 的结果是一个对象,且在 expression 中指定的属性存在,而该对象又不允许它被删除,则返回 false

在所有其他情况下,返回 true

要求

版本 3

请参阅

运算符优先级 | 运算符总结

除法赋值运算符 (/=)

变量值除以表达式值,并将结果赋给该变量。

result /= expression

参数

result

任何数值变量。

expression

任何数值表达式。

说明

使用 /= 运算符和使用下面的语句是等效的:

result = result / expression

要求

版本 1

请参阅

/ 运算符 | 运算符优先级 | 运算符总结

除法运算符 (/)

将两个表达式的值相除。

result = number1 / number2

参数

result

任何数值变量。

number1

任何数值表达式。

number2

任何数值表达式。

要求

版本 1

请参阅

/= 运算符 | 运算符优先级 | 运算符总结

in 运算符

测试对象中是否存在该属性。

result = property in object

参数

result

必选项。任意变量。

property

必选项。相当于字符串表达式的一个表达式。

object

必选项。任意对象。

说明

in 操作检查对象中是否有名为 property 的属性。也可以检查对象的原型,以便知道该属性是否为原型链的一部分。

要求

版本 1

请参阅

运算符优先级 | 运算符总结

递增 (++) 和递减 (--) 运算符

变量值递增一或递减一。

语法 1

result = ++variable
result = --variable
result = variable++

result = variable--

语法 2

++variable
--variable
variable++

variable--

参数

result

任何变量。

variable

任何变量。

说明

递增和递减运算符,是修改存在变量中的值的快捷方式。包含其中一个这种运算符的表达式的值,依赖于该运算符是在变量前面还是在变量后面:

var j, k;
k = 2;
j = ++k;

因为递增发生在表达式被求值前,所以值 3 赋给了 j

和下面的例子对照:

var j, k;
k = 2;
j = k++;

在此,因为递增发生在表达式被求值后,所以值 2 赋给了 j。

JavaScript 具有全范围的运算符,包括算术、逻辑、位以及赋值运算符。此外还有其他一些运算符。

 计算 逻辑 位运算 赋值 杂项
 描述 符号 
 负值 -
逻辑非 !
按位取反 ~
赋值 =
删除 delete
 递增 ++
小于 <
按位左移 <<
运算赋值 oP= typeof
运算符 
 递减 --
大于 >
按位右移 >>
void 运算符 void
 乘法 *
小于等于 <=
无符号右移 >>>
 除法 /
大于等于 >=
按位与 &
 取模运算 %
等于 ==
按位异或 ^
 加法 +
不等于 !=
按位或 |
 减法 -
逻辑与 &&
  逻辑或 ||
  条件(三元运算符) ?:
  逗号 ,
  恒等 ===
  不恒等 !==

 运算符优先极
 JavaScript 中的运算符是按照一个特定的顺序来求值的。这个顺序就是运算符的优先级。下表按从最高到最低的优先级列出了这些运算符。处于同一行中的运算符按从左至右的顺序求值。

 运算符 描述
 . [] () 字段访问、数组下标以及函数调用
 ++ -- - ~ ! typeof new void delete 一元运算符、返回数据类型、对象创建、未定义值
 * / % 乘法、除法、取模
 + - + 加法、减法、字符串连接
 << >> >>> 移位
 < <= > >= 小于、小于等于、大于、大于等于 
 = !=   ===   !== 等于、不等于、恒等、不恒等
 & 按位与
 ^ 按位异或
 | 按位或
 && 逻辑与
 || 逻辑或
 ?: 条件
 = oP= 赋值、运算赋值
 , 多重求值

 圆括号可用来改变求值顺序。圆括号中的表达式应在其用于语句的其余部分之前全部被求值。

 具有较高优先级的运算符将在具有较低优先级的运算符之前被求值。例如:

 z = 78 * (96 + 3 + 45)

 在该表达式中有五个运算符: =, *, (), +, 以及 +。根据优先级,它们将按下面的顺序求值: (), *, +, +, =。

 首先对圆括号内的表达式求值:其中有两个加法运算符,它们具有相同的优先级:96 和 3 相加,然后再将它们的和与 45 相加,得到的结果为 144。
 然后是乘法运算: 78 和 144 相乘,得到结果为 11232。
 最后是赋值运算:将 11232 赋给 z。

Javascript 相关文章推荐
Javascript面向对象编程(三) 非构造函数的继承
Aug 28 Javascript
js Function类型
Dec 04 Javascript
常用jQuery选择器总结
Jul 11 Javascript
学习JavaScript设计模式之模板方法模式
Jan 20 Javascript
javascript加载xml 并解析各节点的值(实现方法)
Oct 12 Javascript
AngularJS实现在ng-Options加上index的解决方法
Nov 03 Javascript
Bootstrap基本组件学习笔记之导航(10)
Dec 07 Javascript
jQuery Validate表单验证插件的基本使用方法及功能拓展
Jan 04 Javascript
在一个页面实现两个zTree联动的方法
Dec 20 Javascript
解决webpack dev-server不能匹配post请求的问题
Aug 24 Javascript
vue+mock.js实现前后端分离
Jul 24 Javascript
微信小程序实现吸顶特效
Jan 08 Javascript
javascript入门·动态的时钟,显示完整的一些方法,新年倒计时
Oct 01 #Javascript
javascript入门·图片对象(无刷新变换图片)\滚动图像
Oct 01 #Javascript
javascript入门·对象属性方法大总结
Oct 01 #Javascript
JS创建优美的页面滑动块效果 - Glider.js
Sep 27 #Javascript
[HTML/CSS/Javascript]WWTJS
Sep 25 #Javascript
奇妙的js
Sep 24 #Javascript
让getElementsByName适应IE和firefox的方法
Sep 24 #Javascript
You might like
一个php作的文本留言本的例子(四)
2006/10/09 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
jQuery 研究心得 取得属性的值
2007/11/30 Javascript
Js基础学习资料
2010/11/23 Javascript
JSONP 跨域共享信息
2012/08/16 Javascript
javascript设计模式之工厂模式示例讲解
2014/03/04 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
jQuery插件StickUp实现网页导航置顶
2015/04/12 Javascript
jQuery添加删除DOM元素方法详解
2016/01/18 Javascript
javascript中JSON.parse()与eval()解析json的区别
2016/05/19 Javascript
轻松理解JavaScript之AJAX
2017/03/15 Javascript
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
Vue 实现复制功能,不需要任何结构内容直接复制方式
2019/11/09 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
2019/11/14 Javascript
原生js+css调节音量滑块
2020/01/15 Javascript
vue实现购物车功能(商品分类)
2020/04/20 Javascript
[34:39]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第二局
2016/03/05 DOTA
[43:36]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Windows8下安装Python的BeautifulSoup
2015/01/22 Python
Python描述器descriptor详解
2015/02/03 Python
PyChar学习教程之自定义文件与代码模板详解
2017/07/17 Python
如何用Python合并lmdb文件
2018/07/02 Python
pycharm恢复默认设置或者是替换pycharm的解释器实例
2018/10/29 Python
python调用摄像头的示例代码
2020/09/28 Python
CSS3教程(2):网页边框半径和网页圆角
2009/04/02 HTML / CSS
突袭HTML5之Javascript API扩展3—本地存储全新体验
2013/01/31 HTML / CSS
TripAdvisor台湾:全球最大旅游网站
2018/08/26 全球购物
个人找工作的自我评价
2013/10/17 职场文书
村官工作鉴定评语
2014/01/27 职场文书
车队司机自我鉴定
2014/03/02 职场文书
个人安全生产承诺书
2014/05/22 职场文书
四查四看自我剖析材料
2014/09/19 职场文书
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server
Python中的np.argmin()和np.argmax()函数用法
2021/06/02 Python
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
2021/10/05 Javascript
微信小程序中wxs文件的一些妙用分享
2022/02/18 Javascript