码迷,mamicode.com
首页 > 编程语言 > 详细

Kidney日拱一卒JavaScript系列Chapter3 Operators&Expressions

时间:2016-07-14 02:43:52      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

Chapter 3 操作符与表达式

1、操作符

从形式上看,操作符既可以是符号(如+,-,*等),也可能是字符(delete,instanceof等);

从结构上看,操作符可分为一元、二元和三元操作符。

使用操作符操作值,会存在各种隐式转换。

下表是所有的操作符,从上到下优先级从高到低,分割线内优先级相同。

技术分享

 

技术分享

1.1 递增与递减

       前置:先计算,后取值;

       后置:先取值,后计算;

1.2 位操作符

       用于操作底层的内存地址。

1.3 布尔操作符

       共三个,其优先级顺序是!> && > ||

1.4 相等操作符

       由于相等操作符会进行强制的类型转换,所以真正作比较,还得用全等操作符。

1.5 条件操作符

       boolean-expression?true-value:false-value

1.6 赋值操作符

       赋值操作符可与其他运算符组合成复合赋值操作符。

1.7 逗号操作符

       逗号操作符用于分隔多个表达式,比如要在一条赋值语句中定义多个变量,可以用逗号将多个赋值表达式连缀起来。

2、表达式

       表达式是可以被解析器计算出一个值的短语。

       《权威》列出了十种表达式。

2.1 原始表达式

       原始表达式是表达式的最小单元,包括常量、变量、直接量和关键字。

2.2 数组和对象初始化表达式

       数组初始化表达式:[a,b,c]

       对象初始化表达式:{a:a, b:b}

2.3 函数表达式

       function(){ }

2.4 属性访问表达式

       expression.identifier

       expression[expression]

       .和[之前的表达式会被先计算,如果计算结果不为对象或数组,它会被转化为对象。

2.5 函数调用表达式

       foo()

       a.method()

2.6 对象创建表达式

       在函数调用表达式前加上操作符new,就是对象创建表达式。后面的圆括号可以省略。

2.7 算数表达式

       含有运算符的表达式

2.8 关系表达式

       含有比较运算符(包括in和instanceof)的表达式,返回布尔值

2.9 逻辑表达式

       含有逻辑运算符的表达式。通常用于处理关系表达式,并返回布尔值。

       如果逻辑运算符操作的表达式所计算出的值不是布尔值,则按假值(false,undefined,null,‘ ’,0,NaN)和真值(假值以外的值)来处理,具体规则如下:

       &&:如果左侧计算值为假值,则返回左侧运算结果,并且忽略右侧;

              如果左侧计算值为真值,则返回右侧运算结果,无论其真假。

       ||:如果左侧计算值为真值,则返回左侧运算结果,并且忽略右侧;

            如果左侧计算值为假值,则返回右侧运算结果,无论其真假。

       !:总是返回布尔值。

2.10 赋值表达式

       含赋值运算符的表达式。

Kidney日拱一卒JavaScript系列Chapter3 Operators&Expressions

标签:

原文地址:http://www.cnblogs.com/kidney/p/5668440.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!