JavaScript——运算符

本文详细介绍了JavaScript中的各种运算符,包括表达式的概念、一元运算符(递增和递减)、算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符。特别讨论了运算符的优先级和不同场景下的行为,如在数值、字符串、布尔值和对象之间的比较规则,以及一元运算符的前置与后置差异。
摘要由CSDN通过智能技术生成

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 //逻辑运算表达式

2.一元运算符

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

  1. 递增++和递减--

var box = 100;

++box;      //  把box累加一个1,相当于box = box+1

--box;     //  把box累减一个1,相当于box = box-1

box++;     //  同上

box--;     //  同上

        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;

减运算规则如下:

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;

3.算术运算符

ECMAScript定义了5个算术运算符,加减乘除求模(取余)。如果在算术运算的值不是数值&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值