前端精选面试题:高级开发工程师

更多精选面试题,点击【积题网】获取更多试题!

 

JavaScript 运算符用于赋值,比较值,执行算术运算等。

算数运算符

算术运算符用于执行两个变量或值的运算。

运算符 描述
+ 加法
- 减法
* 乘法
/ 除法
% 系数
++ 递增
-- 递减
**

加法运算符:
加法运算符 + 加数:

var x = 7;
var y = 8;
var z = x + y; 

减法运算符:
减法运算符 - 减数。

var x = 7;
var y = 8;
var z = x - y; 

乘法运算符:
乘法运算符 * 乘数。

var x = 7;
var y = 8;
var z = x * y; 

除法运算符:
除法运算符 / 除数。

var x = 7;
var y = 2;
var z = x / y; 

系数运算符
系数运算符 % 返回除法的余数。

var x = 7;
var y = 2;
var z = x % y; 

递增运算符:
递增运算符 ++ 对数值进行递增。

var x = 7;
x++;
var z = x;

递减运算符
递减运算符 -- 对数值进行递减。

var x = 7;
x--;
var z = x; 

幂运算符
取幂运算符 ** 将第一个操作数提升到第二个操作数的幂。

var x = 5;
var z = x ** 2;          // 结果是 25

比较运算符

比较运算符用于逻辑语句的判断,从而确定给定的两个值或变量是否相等。

运算符 描述
== 相等
=== 严格相等
!= 不等
!== 严格不等
> 大于
< 小于
>= 大于等于
<= 小于等于

相等运算符
== 会为两个不同类型的操作数转换类型,然后进行严格比较。

console.log(1 == 1);    // true
console.log(1 == 2);    // false
console.log(1 == true); // true
console.log(1 == '1');  // true
  • 相等运算符,在对两个操作数进行比较之前,会将两个操作数转换成相同的类型。

严格相等运算符:
=== 不会对操作数进行类型转换,只有当值相等并且类型也是相等时才会返回 true。

console.log(1 === 1);     // true
console.log(1 === 2);     // false
console.log(1 === true);  // false
console.log(1 === false); // false
console.log(1 === '1');   // false
  • 不同类型的值进行比较时,会返回 false.

不等运算符:
!= 只有当操作数不相等时才返回true,如果两操作数不是同一类型,会将操作数转为同意类型再进行比较。

var a = 1;
var b = 2;
var c = '1';

console.log(a != 1);  // false
console.log(a != b);  // true
console.log(a != c);  // false

严格不等运算符:
!== 当操作数不相等或不同类型时返回 true。

var a = 1;
var b = 2;
var c = '1';

console.log(a !== 1);  // false
console.log(a !== b);  // true
console.log(a !== c);  // true

大于运算符:
> 只有当左操作数大于右操作数时才返回 true。

console.log(5 > 1);   // true
console.log(5 > 10);  // false
console.log(5 > '5'); // false

小于运算符:
< 只有当左操作数小于右操作数时才返回 true。

console.log(5 < 1);   // false
console.log(5 < 5);   // false
console.log(5 < 10);  // true
console.log(5 < '5'); // false

大于等于运算符:
>= 只有当左操作数大于或者等于右操作数时才返回 true。

console.log(5 >= 1);   // true
console.log(5 >= 5);   // true
console.log(5 >= 10);  // false
console.log(5 >= '5'); // true

小于等于运算符:
只有当左操作数小于或者等于右操作数时才返回 true。

console.log(5 <= 1);   // false
console.log(5 <= 5);   // true
console.log(5 <= 10);  // true
console.log(5 <= '5'); // true

逻辑运算符

逻辑运算符用于判定变量或值之间的逻辑。

  • 逻辑与 &&
  • 逻辑或 ||
  • 逻辑非 !

逻辑与 && :

a1 = true  && true      // t && t 返回 true
a2 = true  && false     // t && f 返回 false
a3 = false && true      // f && t 返回 false
a4 = false && (3 == 4)  // f && f 返回 false
a5 = "Cat" && "Dog"     // t && t 返回 "Dog"
a6 = false && "Cat"     // f && t 返回 false
a7 = "Cat" && false     // t && f 返回 false
a8 = ''    && false     // f && f 返回 ""
a9 = false && ''        // f && f 返回 false

逻辑或 ||:

o1 = true  || true      // t || t 返回 true
o2 = false || true      // f || t 返回 true
o3 = true  || false     // t || f 返回 true
o4 = false || (3 == 4)  // f || f 返回 false
o5 = "Cat" || "Dog"     // t || t 返回 "Cat"
o6 = false || "Cat"     // f || t 返回 "Cat"
o7 = "Cat" || false     // t || f 返回 "Cat"
o8 = ''    || false     // f || f 返回 false
o9 = false || ''        // f || f 返回 ""

逻辑非 !:

n1 = !true              // !t 返回 false
n2 = !false             // !f 返回 true
n3 = !''                // !f 返回 true
n4 = !'Cat'             // !t 返回 false

赋值运算符

赋值运算符用于给 JavaScript 变量赋值。

运算符 描述
= 赋值
+= 加法赋值
-= 减法赋值
*= 乘法赋值
/= 除法赋值
%= 取模赋值

赋值运算符
= 赋值运算符向变量赋值。

var x = 7;

加法赋值运算符
+= 赋值运算符向变量添加值。

var x = 7;
x += 8; 

减法赋值运算符:
-= 赋值运算符从变量中减去一个值。

var x = 7;
x -= 8; 

乘法赋值运算符:
*= 赋值运算符相乘变量。

var x = 7;
x *= 8; 

除法赋值运算符:
/= 赋值运算符对变量相除。

var x = 7;
x /= 8; 

取模赋值运算符:
%= 赋值运算符把余数赋值给变量。

 
var x = 7;
x %= 8;