第二个会输出什么呢?

<!DOCTYPE html>
<html lang="en">

<head>

<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>

</head>

<body>

<script>
    var a = 10;
    var b = 20;
    var c = 30;
    console.log(a = b);
    console.log(a == b);
    console.log(a == c);
</script>

</body>

</html>

阅读 2k
3 个回答

先看看 a = ba == b 的区别:

  1. a == b: 测试 ab 是否相等,若相等,返回 true, 否则 false
  2. a = b: 将 b 赋值给 a, 然后返回 a

由于 a = ba == b 非常容易混淆,所以在有些语言(比如:python, swift)中 a = b 仅仅将 b 赋值给 a, 不会返回 a.

回到你的问题:

console.log(a = b); // 20, 同时 a = 20
console.log(a == b); // true

20
true
false
console.log(a = b) // b 的值赋值给 a,a 的值为20
console.log(a == b) // a = 20, b = 20, a 和 b 相等,a == b 为 true
console.log(a == c) // a = 20, c = 30, a 和 c 不相等,a == c 为 false

第1个是赋值符、第2第3是bool判断是否等于

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题