Javascript基础(2)-运算符

164 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第19天,点击查看活动详情

Javascript的运算符是用于赋值、比较,执行算术运算等功能,主要有六大类,包括算术运算符、赋值运算符、比较运算符、条件运算符、逻辑运算符和位运算符。

算术运算符

算术运算符用于执行两个变量或值之间的算术运算。包括加(+)、减(-)、乘(*)、除(/)、取余(%)、自增(++)和自减(--)。

举例:

var x = 5;
console.log(x+2); //7
console.log(x-2); //3
console.log(x*2); //10
console.log(x/2); //2.5
console.log(x%2); //1

需要注意的是自增和自减各有两种写法,分别是先赋值再自增/自减、先自增/自减再赋值,两种不同的写法导致最终值的不同。自增/自减符在前时是先运算再执行赋值,另外的则相反。

举例:

var x = 5;
var y = ++x;
console.log(x,y); //6 6
/*-------------------*/
var x = 5;
var y = x++;
console.log(x,y); //6 5

赋值运算符

赋值运算符用于给 JavaScript 的变量赋值。包括赋值(=)、自加赋值(+=)、自减赋值(-=)、自乘赋值(*=)、自除赋值(/=)、自取余赋值(%=)。

举例:

var x = 10;
var y = 5;
console.log(x,y); //10 5
/*var x = 10;var y = 5;*/
x += y; // x = x + y;
console.log(x,y); //15
/*var x = 10;var y = 5;*/
x -= y; // x = x - y;
console.log(x,y); //5 5
/*var x = 10;var y = 5;*/
x *= y; // x = x * y;
console.log(x,y); //50 5
/*var x = 10;var y = 5;*/
x /= y; // x = x / y;
console.log(x,y); //2 5
/*var x = 10;var y = 5;*/
x %= y; // x = x % y;
console.log(x,y); //0 5

比较运算符

比较运算符用于逻辑语句的判断,从而确定给定的两个值或变量是否相等或其他情况。等于(==)、全等于(===,值及类型都相等)、不等于(!=)、全不等于(!==,值与类型都不等)、大于(>)、小于(<)、大于或等于(>=)、小于或等于(<=)。

举例:

var x = 5;
console.log(x == 10); //false
console.log(x == 5); //true
console.log(x === '5'); //false
console.log(x === 5); //true
console.log(x != 10); //true
console.log(x !== '5'); //true
console.log(x !== 5); //false
console.log(x > 10); //false
console.log(x < 10); //true
console.log(x >= 10); //false
console.log(x <= 10); //true

条件运算符

条件运算符用于基于条件的赋值运算。语句是变量 = (条件) ? 值1:值2,值1是符合条件的返回,值2就是不符合条件的返回。

举例:

var x = 5;
console.log(x == 5 ? true : false); //true

逻辑运算符

逻辑运算符用来确定变量或值之间的逻辑关系。包括且(&&)、或(||)、非(!)。

举例:

var x = 5;
var y = 10;
console.log(x < 10 && y > 0); //true
console.log(x < 10 && y > 10); //false
console.log(x > 10 || y > 10); //false
console.log(x < 10 || y > 10); //true
console.log(!(x == y)); //true

位运算符

位运算符工作于32位的数字上。任何数字操作都将转换为32位。结果会转换为 JavaScript 数字。包括AND(&)、OR(|)、取反(~)、异或(^)、左移(<<)、右移(>>)。

举例:

var x = 5 & 1; //0101 & 0001
console.log(x); //1(0001)
var x = 5 | 1; //0101 | 0001
console.log(x); //5(0101)
var x = ~ 5; //~0101
console.log(x); //-5(1010)
var x = 5 ^ 1; //0101 ^ 0001
console.log(x); //4(0100)
var x = 5 << 1; //0101 << 1
console.log(x); //10(1010)
var x = 5 >> 1; //0101 >> 1
console.log(x); //2(0010)

特殊运算符

这个特殊运算符指的是JavaScript 字符串运算符(+、+=),针对字符串进行拼接操作,因此单独拎出来。

举例:

var text1 = 'Hello ';
var text2 = 'World';
var text3 = text1 + text2;
console.log(text3); //Hello World
text2 += text1;
console.log(text2); //Hello World