二 JavaScript之运算符

PHP中有抬高的演算符集,它们中多数从来源于于C语言。根据不一样效用分别,运算符能够分为:算术运算符、字符串运算符、赋值运算符、位运算符、条件运算符,以致逻辑运算符等。当各类运算符在同叁个表达式中时,它们的演算是有必然的预先级的。

变量是布局程序的骨干成分,但是,变量唯有在场运算技能够切实程序的Willie。运算就须求有运算符。JavaScript提供了各类操作变量、表明式、文字量的停放运算符。JavaScript运算符能够分成5个大类:算术运算符、赋值运算符、关系运算符、逻辑运算符和任何运算符。

二 JavaScript之运算符

(1)算术运算

运算符和表明式概述

风流浪漫.什么是表明式

表达式是ECMAScript中的叁个“短语”,拆解解析器会通过测算把它调换来一个值。最轻易易行的表达式是字面量恐怕变量名。举例:

5.96                            //数值字面量
'Lee'                           //字符串字面量
true                            //布尔值字面量    
null                            //空值字面量
/Java/                          //正则表达式字面量
{x:1, y:2}                      //对象字面量、对象表达式
[1,2,3]                         //数组字面量、数组表达式
function(n) {return x+y;}       //函数字面量、函数表达式
box                             //变量

由此合并简单的表明式来创制复杂的表明式。比如:

box + 5.96                      //加法运算的表达式
typeof(box)                     //查看数据类型的表达式
box > 8                         //逻辑运算表达式

单纯性的字面量和组合字面量的运算符都可称之为表明式

+    –   *   /  %  ++ –

JavaScript中的运算符是蓬蓬勃勃对符合,它们是数据安照某种准则进行演算,并产生一个操作结果,+-*/都以JavaScript的运算符。它们各自产生加法、减法、乘法和除法运算。运算符操作的多寡对象称为操作数,举例,在表达式3+6中,运算符是加号,操作数是3和6.运算符和操作数依照某种准则连接起来并最终总计出一个值的架势正是说明式。譬如,6*3+2正是叁个表明式,n=6+9也是七个表明式。当使用分号终止了二个表明式之后,那个表明式就改成了讲话。下图显示了二个相比复杂的表明式中的各样部分:

二.一元运算符

只能操作二个值的运算符叫做一元运算符

1.依次增加++和依次减少– 2.内置和前置的分别
未曾赋值操作,前置和前置是千篇风流倜傥律的 有赋值操作时
嵌入的演算符会先累计(累减)再赋值 前置运算符则先赋值再加多或累减

var box = 100; 
var age = ++box;                   //age值为101
var height = box++;            //height值为100

3.其余门类应用一元运算符的准则

var box = '89';    box++;           //90,数值字符串自动转换成数值
var box = 'ab'; box++;           //NaN,字符串包含非数值转成NaN
var box = false; box++;          //1,false转成数值是0,累加就是1
var box = 2.3; box++;            //3.3,直接加1
var box = {                          //1,不设置toString或valueOf即为NaN
toString : function() {
    return 1;
}
};          box++;

4.加和减运算符

var box = 100; +box;                //100,对于数值,不会产生任何影响
var box = '89'; +box;               //89,数值字符串转换成数值
var box = 'ab'; +box;               //NaN,字符串包含非数值转成NaN
var box = false; +box;          //0,布尔值转换成相应数值
var box = 2.3; +box;                //2.3,没有变化
var box = {                     //1,不设置toString或valueOf即为NaN
toString : function() {
    return 1;
}
};          +box;

(2)字符串运算符

依据操作数的个数,运算符又足以分为三类:一元运算符、二院运算符和元正运算符。一元运算符只有五个操作数,举例-3中的负号;二元运算符有四个操作数,比方加法操作符和减法操作符等;莫斯利安运算符有四个操作数,举个例子:z = ? x : y

三.算术运算符

1.加法

var box = 1 + 2;                    //等于3
var box = 1 + NaN;                  //NaN,只要有一个NaN就为NaN
var box = Infinity + Infinity;      //Infinity
var box = -Infinity + -Infinity;    //-Infinity
var box = Infinity + -Infinity;     //NaN,正无穷和负无穷相加等NaN
var box = 100 + '100';              //100100,字符串连接符,有字符串就不是加法
var box = '您的年龄是:' + 10 + 20;   //您的年龄是:1020,被转换成字符串
var box = 10 + 20 + '是您的年龄';        //30是您的年龄,没有被转成字符串
var box = '您的年龄是:' + (10 + 20); //您的年龄是:30,没有被转成字符串
var box = 10 + {};             //10[object Object]类型是string
var box = 10 + 对象               //10[object Object],如果有toString()或valueOf(),则返回10+返回数的值

2.减法

var box = 100 - 70;                 //等于30
var box = -100 - 70                 //等于-170
var box = -100 - -70                //-30,一般写成-100 - (-70)比较清晰
var box = 1 - NaN;                  //NaN,只要有一个NaN就为NaN
var box = Infinity - Infinity;          //NaN
var box = -Infinity - -Infinity;        //NaN
var box = Infinity - -Infinity;         //Infinity
var box = -Infinity - Infinity;         //-Infinity
var box = 100 - true;               //99,true转成数值为1
var box = 100 - '';                 //100,''转成了0
var box = 100 - '70';               //30,'70'转成了数值70
var box = 100 - null;               //100,null转成了0
var box = 100 - 'Lee';              //NaN,Lee转成了NaN
var box = 100 - 对象              //NaN,如果有toString()或valueOf()
 则返回10-返回数的值

3.乘法

var box = 100 * 70;                 //7000          
var box = 100 * NaN;                //NaN,只要有一个NaN即为NaN
var box = Infinity * Infinity;          //Infinity
var box = -Infinity * Infinity ;        //-Infinity
var box = -Infinity * -Infinity ;       //Infinity
var box = 100 * true;               //100,true转成数值为1
var box = 100 * '';                 //0,''转成了0
var box = 100 * null;               //0,null转成了0
var box = 100 * 'Lee';              //NaN,Lee转成了NaN
var box = 100 * 对象              //NaN,如果有toString()或valueOf()
 则返回10 - 返回数的值

4.除法

var box = 100 / 70;                 //1.42....
var box = 100 / NaN;                //NaN
var box = Infinity / Infinity;          //NaN
var box = -Infinity / Infinity ;        //NaN
var box = -Infinity / -Infinity;        //NaN
var box = 100 / true;              //100,true转成1
var box = 100 / '';                //Infinity,
var box = 100 / null;              //Infinity,
var box = 100 / 'Lee';             //NaN
var box = 100 / 对象;            //NaN,如果有toString()或valueOf(),则返回10 / 返回数的值

5.求模

var box = 10 % 3;                   //1,余数为1            
var box = 100 % NaN;                //NaN
var box = Infinity % Infinity;          //NaN           
var box = -Infinity %  Infinity ;       //NaN
var box = -Infinity %  -Infinity;       //NaN
var box = 100 %  true;              //0
var box = 100 %  '';                //NaN
var box = 100 %  null;              //NaN
var box = 100 %  'Lee';             //NaN
var box = 100 %  对象;                //NaN,如果有toString()或valueOf(),则返回10 % 返回数的值

字符串运算符唯有多个.(点卡塔尔国便是乌克兰语的句号。它能够将字符串连接起来,组成新字符串,也能够将字符串与数字三番一遍,那个时候类型会活动调换。

表达式中的操作数能够是字符串、数值,也能够是布尔值,或然是这几个数据类型的结缘。当然,操作数的数据类型必要与运算符的数据类型相平等。

四.关系运算符

用以进行比较的演算符称作为涉及运算符:小于(卡塔尔、小于等于(<=卡塔尔、大于等于(>=卡塔尔、相等(==卡塔尔、不等(!=)、全等(恒等)(===)、不全等(不恒等)(!==)

论及运算符操作非数值时要规行矩步一下平整:

1.七个操作数都以数值,则数值比较;
2.三个操作数都以字符串,则相比较七个字符串对应的字符编码值;
3.七个操作数有二个是数值,则将另二个调换为数值,再张开数值比较;
4.多少个操作数有一个是指标,则先调用valueOf(卡塔尔方法或toString(卡塔尔(قطر‎方法,再用结果相比;

var box = 3 > 2;                    //true
var box = 3 > 22;                   //false
var box = '3' > 22;                 //false
var box = '3' > '22';               //true
var box = 'a' > 'b';                //false  a=97,b=98
var box = 'a' > 'B';                //true  B=66
var box = 1 > 对象;               //false,如果有toString()或valueOf(),则返回1 > 返回数的值

在十二分和莫衷一是的可比上,假如操作数是非数值,则依照一下规行矩步:
1.三个操作数是布尔值,则相比前面将其改变为数值,false转成0,true转成1;
2.两个操作数是字符串,则相比较前边将其转成为数值再比较;
3.三个操作数是目的,则先调用valueOf(卡塔尔国或toString(卡塔尔(قطر‎方法后再和再次回到值相比较;
4.没有需求其余调换的状态下,null和undefined是卓绝的;
5.多少个操作数是NaN,则==重临false,!=再次回到true;况且NaN和自家不等;
6.多少个操作数都是指标,则相比较他们是不是是同二个目的,要是都指向同三个对象,则赶回true,否则再次回到false。
7.在全等和全不等的判断上,比方值和档期的顺序都特别,才回到true,不然重临false。

$a="dawanganban"; 
$b="123"; 
echo $a.$b;   //输出结果:dawanganban123

赋值运算符

五.逻辑运算符

逻辑运算符常常用于布尔值的操作,日常和涉及运算符合作使用,有四个逻辑运算符:逻辑与(AND卡塔尔(قطر‎、逻辑或(OTucson卡塔尔(قطر‎、逻辑非(NOT卡塔尔(قطر‎

1.逻辑与(AND) :&&

就算两侧的操作数有二个操作数不是布尔值的动静下,与运算就不分明重回布尔值,那时候,坚守已下法则:
1.第三个操作数是目的,则赶回第4个操作数;
2.次之个操作数是目的,则第八个操作数重返true,才回来首个操作数,不然重返false;
3.有七个操作数是null,则赶回null;
4.有叁个操作数是undefined,则重临undefined。

var box = 对象 && (5 > 4);          //true,返回第二个操作数
var box = (5 > 4) && 对象;           //[object Object]
var box = (3 > 4) && 对象;           //false
var box = (5 > 4) && null;         //null

2.逻辑或(OR):||

就算两侧的操作数有三个操作数不是布尔值的图景下,逻辑与运算就不料定重回布尔值,那时候,遵守已下准绳:
1.率先个操作数是指标,则赶回第一个操作数;
2.第一个操作数的求值结果为false,则赶回第3个操作数;
3.多少个操作数都以指标,则赶回第二个操作数;
4.七个操作数都以null,则赶回null; 5.多少个操作数都以NaN,则赶回NaN;
6.几个操作数都以undefined,则再次来到undefined;

var box = 对象 || (5 > 3);            //[object Object]
var box = (5 > 3) || 对象;            //true
var box = 对象1 || 对象2;           //[object Object]
var box = null || null;                 //null
var box = NaN || NaN;               //NaN
var box = undefined || undefined;      //undefined

3.逻辑非(NOT):!

逻辑非运算符能够用于别的值。无论那几个值是什么数据类型,那一个运算符都会重回一个布尔值。它的流水生产线是:先将以此值转变到布尔值,然后取反,法规如下:
1.操作数是三个对象,重回false; 2.操作数是多少个空字符串,重回true;
3.操作数是三个非空字符串,重临false; 4.操作数是数值0,重返true;
5.操作数是随机非0数值(包罗InfinityState of Qatar,false; 6.操作数是null,再次回到true;
7.操作数是NaN,再次来到true; 8.操作数是undefined,重临true;

var box = !(5 > 4);             //false
var box = !{};                       //false
var box = !'';                       //true
var box = !'Lee';                   //false
var box = !0;                       //true
var box = !8;                       //false
var box = !null;                    //true
var box = !NaN;                 //true
var box = !undefined;           //true

(3)赋值运算符

JavaScript中的赋值运算符便是一个等号,它的意思是精打细算赋值运算符左边的表明式,然后将该值存款和储蓄在复制运算符侧边变量所表示的存款和储蓄单元中。举个例子:

六.*位运算符

位运算符有多样,分别是:位非NOT(~卡塔尔国、位与AND(&卡塔尔、位或O哈弗(|)、位异或XO本田CR-V(^卡塔尔国、左移(<>卡塔尔、无符号右移(>>>卡塔尔国

var box = ~25;                 //-26
var box = 25 & 3;               //1
var box = 25 | 3;               //27
var box = 25 << 3;              //200
var box = 25 >> 2;              //6
var box = 25 >>> 2;             //6
= += -= *= /= %= .=

$a="dawanganban"; 
$a.=1; 
$a.=2; 
$a.=3; 
echo $a.$b;   //输出结果:dawanganban123
x=x+2;

七.赋值运算符

赋值运算符用等于号(=State of Qatar表示,正是把左侧的值赋给左侧的变量。

var box = 100;                  //把100赋值给box变量

复合赋值运算符通过x=的款式表示,x表示算术运算符及位运算符

var box = 100;
box = box +100;                 //200,自己本身再加100

这种情况可以改写为:
var box = 100;                  
box += 100;                     //200,+=代替box+100

(4)位运算符

上边的赋值表明式的意义是测算x+2的值,然后报结果存款和储蓄到x所代表的单元中。

八.其余运算符

1.字符串运算符
字符串运算符唯有一个,即:”+”。它的功力是将八个字符串相加
准则:最少一个操作数是字符串就可以

var box = '100' + '100';                //100100
var box = '100' + 100;              //100100
var box = 100 + 100;                //200

2.逗号运算符
逗号运算符能够在一条语句中执行七个操作。

var box = 100, age = 20, height = 178;  //多个变量声明
var box = (1,2,3,4,5);              //5,变量声明,将最后一个值赋给变量,不常用
var box = [1,2,3,4,5];              //[1,2,3,4,5],数组的字面量声明
var box = {                     //[object Object],对象的字面量声明
                    1 : 2,
                    3 : 4,
                    5 : 6
};

3.伊利标准运算符
新春初中一年级条件运算符其实就是背后就要学到的if语句的简写方式。

var box = 5 > 4 ? '对' : '错';        //对,5>4返回true则把'对'赋值给box,反之。

& | ~ ^ << >>

算数运算符

九.运算符优先级

-优先级坚守以下顺序:

图片 1

(5)比较运算符

算术运算符操作叁个或五个数值,并回到三个数值类型的结果。JavaScript援救的算术运算符如下表所示:

> < >= <= == != <> === !==

运算符示例描述

<>:为不对等和!=相符

+5+6加法,5+6的结果为11-9-6减法,9-6的结果为3*9*6乘法,9*6的结果为54/9/6除法,9/6的结果为1.5%9%6取余数,9%6的结果为3++x++
或 ++x自增1,固然x的初值为9,++x的结果为10–x– 或
–x自减1,若是x的初值为9,–x的结果为8–x取负值,借使x的初值为9,-x的结果为-9=x=3赋值,将3赋值给x+=x
=+ 3加赋值,x += 3等价于x = x + 3-=x -= 3减赋值,x -= 3等价于x = x –
3*=x *= 3乘赋值,x *= 3等价于x = x * 3/=x /= 3除赋值,x /= 3等价于x
= x / 3%=x %= 3取余数赋值,x %= 3等价于x = x % 3

===:恒等,值相当且项目风华正茂致

前自增和后自增的分别

!==:非恒等,值不等于或项目分裂等

JavaScript提供了多个自增/自减运算符。使用自增和自减运算符的益处是足以使代码尤其简明。自增运算符和自减运算符都以一元运算符,它们的操作数独有多少个。自增运算符有二种样式:

echo 5 == "5"; //true  PHP是弱类型语言(js中的变量类似) 
echo 5 === "5";  //false  完全等于

运算符放在操作数的侧面,譬喻:++x,称为前自增,其运算进度为:首先对x增1,然后在参加别的运算。举例:尽管x的值为5,则表明式y = 3+的值为9.

(6)逻辑运算

自增运算符的另风度翩翩种方式是运算符放在操作数的入手,举例:x++,称为后自增,其运算进度为:首先让x出席其余运算,然后在对x增1。比方,借使x的值为5,表明式y = 3+的值为8。

AND(逻辑与卡塔尔 ORAV4(逻辑或卡塔尔 XOHighlander(逻辑异或卡塔尔 &&(逻辑与卡塔尔 ||(逻辑或State of Qatar !(逻辑非)

同样,自减运算符也是有二种情势:前自减,其运算原理和前自增和后自增相符。

var_dump(5 && "");   //false 
var_dump(5 && "2"); //true 
var_dump(5 || ""); //true 
var_dump(0 xor 1); //true 
var_dump(0 xor 0); //false 
var_dump(1 xor 1); //false

字符串拼接运算符

字符串拼接运算符的效果与利益是把四个字符串拼接为三个新的字符串。JavaScript中提供了多个字符串拼接运算符:++=。那三个运算符实际到位两类操作:算数加法和字符串拼接。JavaScript解释器依据操作数的数据类型来调控它们产生何种操作。这种三个运算符依照操作数的不等而产生区别运算的线性称为运算符重载。运算符重载也是面向对象编制程序语言的三个关键特点。

当四个操作数中最少有三个操作数是字符串时,JavaScript解释器刺激++=运算符解释为字符串拼接。+=运算的长河为:将运算符左边的字符串拼接到该运算符左侧的是老大的前边,并将结果赋值给运算符左边的操作数。比如:

varstr="jQuery"+"之家";console.info;//控制台输出结果为:jQuery之家

假定五个操作数都是数组类型,那么+姣好算术运算加法操作。举个例子:6+3的结果为9,并非63。而"36"+236+"2"的结果正是字符串拼接:362。

可是急需在乎的是,倘使姿势中有乘或除,而字符串又足以转移为数值,那么那个时候会实行算术运算。譬喻:总结表达式"25" * 1 + 3的值,依照运算符的优先级,JavaScript编写翻译器看见乘号*后,就将字符串”25″调换为数值25,然后与1相乘,其结果再与3相加,进而获得的成套表达式的结果的值为28。

关联运算符

涉嫌运算符有称为相比运算符,用于比较操作数之间的抑扬顿挫、是或不是等于等。关系运算符的结果是布尔值类型的truefalse。关系运算符的操作数能够是数值、字符串,也足以是布尔值。字符串依照字符从左向右依次比较,字符选用Unicode编码。比如:字母”A”小于字母”B”。下表中列出了JavaScript扶助的关系运算符和它的意义:

运算符和操作数描述

x == y相比x是还是不是等于y,相等时运算结果为true,不然为falsex !=
y相比较x是还是不是不等于y,不对等时运算结果为true,不然为falsex >
y相比x是还是不是超过y,大于时运算结果为true,不然为falsex <
y相比较x是或不是小于y,小于时运算结果为true,不然为falsex >=
y比较x是不是超过等于y,大于等于时运算结果为true,否则为falsex <=
y相比较x是或不是低于等于y,小于等于时运算结果为true,不然为falsex ===
y相比较x和y的值和类型是或不是完全相像,完全相仿不经常间运算结果为true,不然为falsex
!==
y比较x和y的值和类型是或不是留存区别,存在差异的时候运算结果为true,不然为false

JavaScript中提供的运算符==!=分别用于剖断三个操作数是相等依然不对等。那多个运算符的操作数能够是各连串型,包含数值类型、字符串类型、布尔型、对象类型甚至数组。大家得以透过上面包车型地铁规行矩步来判别多个操作数是或不是等于:

在可比七个字符串时,唯有他们的长短相等,对应地方的字符也风流倜傥律时那五个字符串才也等于。

当字符串与一个数值相相比时,假诺数值的字符与字符串的字符完全等同一时候那么它们三个非常。比方”200″等于200。

JavaScript使用特殊符号NaN来代表二个值不是数值的情景。NaN的英语是Not
a
Number的缩写。它不是四个字符串,而是表示非数值的贰个奇异值。举个例子:调用函数parseInt时重临的结果就是NaN,因为那么些函数要将字符串表示的数值调换为相应的大背头。注意:Nan不等于NaN。

当七个对象引用同贰个指标时,那多少个指标相等。

当多少个布尔值都是true或false时,那三个布尔值相等。

nullundefined数据类型相等。

上面包车型大巴表格中列出了三个值是不是等于的测验结果:

测量试验表明式结果

“JavaScript” == “javascript”false”JavaScript” == “JavaScript”true”65″ ==
65true”6.5” == 6.5true8 == 8.0true+0 == -0trueNaN == NaNfalsenull ==
nulltruefalse == falsetruetrue == truetruetrue == 1truefalse ==
0truetrue == 2falsenull == undefinedtrue

而外相等运算符之外,JavaScript还提供了多个有五个等号的可比运算符===。该运算符用于测量检验五个操作数是或不是完全风流罗曼蒂克致,满含值是或不是等于以致项目是不是肖似。唯有四个操作数的值分外况且类型黄金时代致的时候,生机勃勃致性测的结果才为true。下标中列出了有的一致性测量试验的身体力行:

测量检验说明式结果

“JavaScript” === “javascript”false”JavaScript” === “JavaScript”true”65″
=== 65false”6.5” === 6.5false8 === 8.0false+0 === -0trueNaN ===
NaNfalsenull === nulltruefalse === falsetruetrue === truetruetrue ===
1falsefalse === 0falsetrue === 2falsenull === undefinedfalse 逻辑运算符

逻辑运算符平日在尺度语句中央银行使,它们和涉及运算符一同构成复杂的论断标准。JavaScript提供了三种逻辑运算符:&&||!,分别表示逻辑与,逻辑或和逻辑非。

逻辑与运算符的性状是,当四个操作数都以true时,逻辑与的结果才为true,不然为false。

逻辑或运算符的表征是,当七个操作数中假使有一个操作数的值是true时,逻辑或的结果就为true,不然为false。

逻辑非运算符是三个一元运算符,当操作数的值为true时,逻辑非的结果为false,不然为true。

不时逻辑运算符的演算结果不是叁个布尔值,而是二个数值。当逻辑运算符的操作数都以数值时就能够时有发生这种情景。比如:表明式6 && 7的演算结果为7,JavaScript将该表达式结果作为是true。而表明式6 && 00 && 00 && 6的结果都被JavaScript看做为false。

位运算符

位运算符按位乘除操作数然后得到运算结果。这里的为是指二进制位,实际不是十进制位。JavaScript将位运算符的操作数看做三十四位结合的数进行测算,然后以平头的款式重回运算结果。下表中列出了JavaScript援助的位运算符及其示例:

位运算符描述示例重回结果

&位与运算符。操作数对应位的值都是1时,运算结果中对应位的值为1,否则对应位的值为05
&
20|位或运算符。操作数对应位的值都以0时,运算结果中对应位的值为0,不然对应位的值为15
|
27^位异或运算符。操作数对应位的值都是1或0时,运算结果中对应位的值为1,不然对应位的值为07
^
25~位非运算符。操作数中某壹个人的值为1时,运算结果中对应位的值为0,不然对应位的值为1。这些运算包涵率先位~
2-3<>右位移运算符。该运算符使用的近似格式为:x >>
y,表示将二进制表示的x向右移动y位,符号位保持不变,移出的位数扬弃,左边空出来的位填零16
>> 2 -16 >> 24
-4>>>零填充右移运算符。该运算符使用的日常格式为:x >>>
y,表示将二进制表示的x向右移动y位,饱含符号位联合运动,侧边空出来的位填零-16
>>> 816777215

位运算符按位张开演算,对于&|^来讲,按位运算指第3个操作数的首先位与第叁个操作数的率先位展开演算,结果是运算结果的第1个人;第三个图操作数的第二人与第三个操作数的第四位实行演算,结果是运算结果的第几个人,依此类推。举个例子:5的二进制位101,6的二进制位110,上边是5和6做位运算的算式:

101101101&110|110^110~110_____________________________100111011001

别的运算符

除此之外前方介绍的运算符之外,JavaScript还提供了一些此外十三分使得的运算符,如下表所示:

运算符示例功用

? 😡 ? a :
b伊利标准运算符。即便x为true,那么表明式的值为a的值,否则为b的值void用于总结不重临值的表达式delete用于删除对象并释放该目的所占用的长空new用于成立客户自定义的对象实例this再次来到援引当前指标typeoftypeof重回操作数的数据类型function定义无名氏函数,逗号,总结四个表明式的值,并重返第三个表明式的值in当钦点属性是目标的属性时回来true,不然重临falseinstanceof推断目的是不是是钦定的对象类型
运算符的优先级和构成情势

在四则运算时,法则是先乘除、后加减,统风度翩翩优先级的演算符按从左到右的方法开展计算。下表中列出了JavaScript运算符的开始时期级以致运算符的结合艺术,同生机勃勃优先级的运算符放在同等行上,表格自上向下运算符的优先级慢慢减退。

运算符表达结合艺术开始的一段时期级

++ –自增 自减自右向左2!逻辑非自右向左3* / %乘法 除法 取余数自左向右4+
-加法 减法自左向右5+字符串拼接自左向右6< <=小于
小于等于自左向右7> >=大于 大于等于自左向右8== !=等于
不对等自左向右9=== !==恒等
不恒等自左向右10&按位与自左向右11|按位或自左向右12^按位异或自左向右13~按位非自左向右14<>右移自左向右16>>>零填充右移自左向右17&&逻辑与自左向右18||逻辑或自左向右19?
:条件表达式自右向左20= += -= *= /= <<=
>>=赋值运算符自右向左21,逗号自左向右二十五次到javascript教程主目录>>

发表评论

电子邮件地址不会被公开。 必填项已用*标注