Javascript核心读书有感之表达式和运算符(3)

对象创建表达式(object creation expression)创建一个对象并调用一个函数(构造函数)来初始化对象的属性。对象创建表达式和函数调用表达式非常类似,只是对象创建表达式之前多了一个关键字new:

new Object()
        new Point(2,3)
如果对象创建表达式不需要传入任何参数给构造函数的话,那么这对圆括号是可以省略掉的,更多构造函数的细节将在9章说明

new Object
         new Point

7.运算符概述

javascript中的运算符用于算表表达式, 比较表达式, 逻辑表达式 ,赋值表达式等
需要注意的是大多运算符都是标点符号来表示的,比如delete和instanceof.无论是关键字运算符还是符号运算符,所表示的运算符一样都是正规运算符,他们的语法都非常言简意赅。
下标运算符的优先级来排序的,前边的运算符优先级高于后边的运算符优先级。被水平华丰隔开的运算符具有不同的优先级。
A表示运算符的结合性。
L从左至右或者R(从右至左)
标题N的列表表示操作数的个数。
类型表示期望的操作数的类型,以及运算符的结果类型(在"→"符号之后)

运算符   操作   A   N   类型  
++   前/后增量   R   1   lval→num  
--   前后减量   R   1   lval→num  
-   求反   R   1   num→num  
+   转换为数字   R   1   num→num  
~   按位求反   R   1   int→int  
  逻辑非   R   1   bool→bool  
delete   删除属性   R   1   lval→bool  
typeof   检测操作类型   R   1   any→Str  
void   返回undefined值   R   1   any→undef  
* 、/、%   乘 除 求余   L   2   num,num→num  
+、-   加,减   L   2   num,num→num  
+   字符串连接   L   2   str,str→str  
<<   左移位   L   2   int,int→int  
>>   右移位   L   2   int,int→int  
>>>   无符号右移  

L

  2   int,int→int  
<,<=,>,>=   比较数字顺序   L   2   num,num→bool  
<,<=,>,>=   比较在字母中的顺序   L   2   str,str→bool  
instanceof   测试对象类   L   2   obj,func→bool  
in   测试属性是否存在   L   2   str,obj→bool  
==   判断相等   L   2   any,any→bool  
!=   判断不等   L   2   any,any→bool  
===   判断恒等   L   2   any,any→bool  
!==   判断非恒等   L   2   any,any→bool  
&   按位与   L   2   int,int→int  
^   按位异或   L   2   int,int→int  
|   按位或   L   2   int,int→int  
&&   逻辑与   L   2   any,any→any  
||   逻辑或   L   2   any,any→any  
?:   条件运算符   R   3   bool,any,any→any  
=   变量赋值或对象属性赋值   R   2   lval,any→any  

*= /= %= += -= &=

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgffgj.html