Operators: 负责对操作数进行一些操作
操作数: 代表数据。
算术运算符
关系运算符
逻辑运算符
赋值运算符
按位运算符
类型运算符
杂项操作员
运营商 | 函数 |
+(添加) | 返回操作数的总和 |
-(减法) | 返回操作数之间的差值 |
*(乘法) | 它返回操作数值的乘积。 |
/(部门) | 用于除法,返回商。 |
%(模数) | 它还执行除法并返回余数。 |
++(增量) | 将变量的值加一。 |
-(递减) | 将变量的值减一。 |
var x = 30; var y = 20 ; console.log("Addition: " + (x + y) ); console.log("Subtraction: " + (x-y) ); console.log("Multiplication: " + (x * y) ); console.log("The Division will give you the quotient: " + (x / y) ); console.log("Modulus will give you the Remainder: " + (x % y) ); // pre-increment console.log("Value of x after pre-increment: " + (++x) ); // post-increment console.log("Value of x after post-increment: " + (x++) ); // pre-decrement console.log("Value of y after pre-decrement: " + (--y) ); // post-decrement console.log("Value of y after post-decrement: " + (y--) );
Addition : 50 Subtraction: 10 Multiplication: 600 The division will give you the quotient: 1.5 Modulus will give you the Remainder: 10 Value of x after pre-increment: 31 Value of x after post-increment: 31 Value of y after pre-decrement: 19 Value of y after post-decrement: 19
操作员 | 功能 |
>(大于) | 如果左操作数大于右操作数则返回真,否则返回假。 |
<(小于) | 如果左操作数小于右操作数则返回真,否则返回假。 |
>=(大于或等于) | 如果左操作数大于或等于右操作数则返回真,否则返回假。 |
<=(小于或等于) | 如果左操作数小于或等于右操作数则返回真,否则返回假。 |
==(平等) | 如果两个操作数的值相同则返回真,否则返回假。 |
!=(不等于) | 如果操作数的值不同则返回真,否则返回假。 |
var x = 20; var y = 15; console.log("Value of x: " + x); console.log("Value of y: " + y); var result = x > y; console.log("x is greater than y: " + result); result = x < y; console.log("x is smaller than y: " + result); result = x >= y; console.log("x is greater than or equal to y: " + result); result = x <= y; console.log("x is smaller than or equal to y: " + result); result = x == y; console.log("x is equal to y: " + result); result = x != y; console.log("x not equal to y: " + result);
Value of x: 20 Value of y: 15 x is greater than y: true x is smaller than y: false x is greater than or equal to y: true x is smaller than or equal to y: false x is equal to y: false x not equal to y: true
运营商 | 说明 |
&&(逻辑与) | 如果所有与 && 组合的关系语句都为真,则此运算符返回真,否则返回假。 |
||(逻辑或) | 如果至少有一个与 || 组合的关系语句,则此运算符返回 true为真,否则返回假。 |
!(逻辑非) | 它返回语句结果的倒数。 |
var x = 30; var y = 80; console.log("Value of x = " + x ); console.log("Value of y = " + y ); var result = ((x < 40) && (y <= 90)); console.log("(x < 40) && (y <= 90): ", result); var result = ((x == 50) || (y > 80)); console.log("(x == 50) || (y > 80): ", result); var result = !((x > 20) && (y >= 80)); console.log("!((x > 20) && (y >= 80)): ", result);
Value of x = 30 Value of y = 80 (x < 40) && (y <= 90): true (x == 50) || (y > 80): false !((x > 20) && (y >= 80)): false
运营商 | 函数 |
=(简单赋值) | 它只是将右操作数的值赋给左操作数 |
+=(添加和分配) | 此运算符将右操作数的值与左操作数的值相加,并将结果赋给左操作数。 |
-=(减法和赋值) | 此运算符从左操作数的值中减去右操作数的值,并将结果赋给左操作数。 |
*=(乘法和赋值) | 此运算符将右操作数的值乘以左操作数的值,并将结果赋给左操作数。 |
/=(分而治之) | 此运算符将右操作数的值除以左操作数的值,并将结果赋给左操作数。 |
var x = 20; var y = 40; x = y; console.log("After assignment the value of x is: " + x); x += y; console.log("x+=y: " + x); x-= y; console.log("x-=y: " + x); x *= y; console.log("x*=y: " + x); x /= y; console.log("x/=y: " + x); x %= y; console.log("x%=y: " + x);
After assignment the value of x is: 40 x+=y: 80 x-=y: 40 x*=y: 1600 x/=y: 40 x%=y: 0
操作员 | 说明 |
按位与(&) | 它将第一个操作数的每一位与第二个操作数的相应位进行比较。如果两个位都为 1,则结果位将设置为 1,否则将设置为 0。 |
按位或(|) | 它将第一个操作数的每一位与第二个操作数的相应位进行比较。如果两个位都为 0,则结果位将设置为 0,否则将设置为 1、 |
按位异或(^) | 它需要两个操作数,并对两个操作数的每一位进行异或。如果两个位都不同,则返回 1,否则返回 0。 |
按位非(~) | 它翻转其操作数的位,即0变为1,1变为0。 |
左移(<<) | 它将左操作数的值向左移动右操作数指定的位数。 |
符号传播右移(>>) | 它将左操作数的值向右移动右操作数指定的位数。这是符号传播,因为我们从左边添加的位取决于数字的符号(0 表示正,1 表示负)。 |
零填充右移 | 它接受两个操作数。第一个操作数指定数字,一个nd 第二个运算符确定要移位的位数。每一位都向右移动,溢出的位将被丢弃。因为0位是从左边添加的,这就是为什么它是一个零填充右移。 |
var x = 70; /* 70 = 0100 0110 */ var y = 80; /* 80 = 0101 0000 */ var res = 0; console.log("Value of 70 in binary 0100 0110" ); console.log("Value of 80 in binary 0101 0000" ); res = x & y; /* 64 = 0100 0000 */ console.log("Value of x & y = %d\n", res ); res = x | y; /* 86 = 0101 0110 */ console.log("Value of x | y = %d\n", res ); res = x ^ y; /* 22 = 0001 0110 */ console.log("Value of x ^ y = %d\n", res ); res = ~x; /*-71 =-0100 0111 */ console.log("Value of ~ x = %d\n", res ); res = x << 2; /* 280 = 1000 11000 */ console.log("Value of x << 2 = %d\n", res ); res = x >> 2; /* 17 = 0001 0001 */ console.log("Value of x >> 2 = %d\n", res );
Value of 70 in binary 0100 0110 Value of 80 in binary 0101 0000 Value of x & y = 64 Value of x | y = 86 Value of x ^ y = 22 Value of ~ x =-71 Value of x << 2 = 280 Value of x >> 2 = 17
运营商 | 说明 |
+(连接运算符) | 它适用于字符串并将第二个字符串附加到第一个。 |
-(否定运算符) | 它改变了值的符号。 |
?(条件运算符) | 用于表示条件表达式。它也被称为三元运算符。 |
var num1 = 80; var num2 =-num1; console.log("Value of num1 = " +num1); // It will give 80 console.log("Value of num2 = " +num2); // It will give-80
Value of num1 = 80 Value of num2 =-80
var str1 = 'Hello' + 'World'; var str2 = 'Welcome ' + 'Back'; console.log(str1); console.log(str2);
HelloWorld Welcome Back
variablename = (condition) ? value1 : value2
var num1 = 30; var num2 = 20; var res = num1 > num2 ? "Yes 30 is greater than 20" : "No It's not"; console.log(res);
Yes 30 is greater than 20
typeof(operand)
类型 | typeof 返回的字符串 |
String | "字符串" |
Boolean | "布尔值" |
Number | "数字" |
Object | "对象" |
var a = 20; var b = true; var c = 'Hello'; var d = 'true'; var e; console.log("Variable a is " +typeof(a)); console.log("Variable b is " +typeof(b)); console.log("Variable c is a " +typeof(c)); console.log("Variable d is a " +typeof(d)); console.log("Variable e is " +typeof(e));
Variable a is number Variable b is boolean Variable c is a string Variable d is a string Variable e is undefined