onclick事件触发异常

第二个button“清空”onclick事件if (x = false) 时无法触发document.getElementById('info').innerHTML = '再见,下次再玩!'

if (x = true) 时能够触发document.getElementById('myname').innerHTML = '你的姓名是:';   以及document.getElementById('mymajor').innerHTML = '你的专业是:';

但也无法触发document.getElementById('info').innerHTML=‘’

代码如下

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			button {
				margin: 10px;
				width: 100px;
				height: 40px;
				border: 1px solid darkblue;
				background-color: #00008B;
				color: white;
				font-size: 20px;
				border-radius: 5px;
			}

			button:hover {
				background-color: darkslategray;
			}

			span {
				display: block;
			}
		</style>
	</head>
	<body>
		<h3>使用消息框来和用户互动</h3>
		<span id="myname">你的姓名是:</span>
		<span id="mymajor">你的专业是:</span>
		<button type="button" onclick="message()">点我</button>
		<button type="button" onclick="buyongclear()">清空</button>
		<span id="info" style="display: none;"></span>
		<script type="text/javascript">
			function message() {
			    document.getElementById('info').style.display = 'none';
			    var m = confirm('想回答问题吗?');
			    if (m == true) {
			        var x = prompt('第一个问题:你的姓名是什么?');
			        if (x != '' || x != null) {
			            document.getElementById('myname').innerHTML = '你的姓名是:' + '<strong>' + x + '</strong>';
			        }
			        var y = prompt('第二个问题:你的专业是什么?');
			        if (y != '' || y != null) {
			            document.getElementById('mymajor').innerHTML = '你的专业是:' + y;
			        }

			        if (x == null && y == null || x == '' && y == '') {
			            document.getElementById('info').style.display = 'block';
			            document.getElementById('info').innerHTML = '你都没有输入呢!';
			        }
			    } else {
			        document.getElementById('info').style.display = 'block';
			        document.getElementById('info').innerHTML = '好吧,不想回答问题,那byebye!';
			    }
			}
			

			function buyongclear() {
			    var x = confirm('要再来一次吗?');
			    if (x = true) {
			        document.getElementById('myname').innerHTML = '你的姓名是:';
			        document.getElementById('mymajor').innerHTML = '你的专业是:';
			        document.getElementById('info').innerHTML = '';
			    }
			    if (x = false) {
			        document.getElementById('info').innerHTML = '再见,下次再玩!';
			    }
			}
		</script>
	</body>
</html>

if条件判断应该是2个等号吧 

if (x = true) {

改为

if (x == true) {

所有的判断都改一下。

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title></title>
  <style type="text/css">
    button {
      margin: 10px;
      width: 100px;
      height: 40px;
      border: 1px solid darkblue;
      background-color: #00008B;
      color: white;
      font-size: 20px;
      border-radius: 5px;
    }

    button:hover {
      background-color: darkslategray;
    }

    span {
      display: block;
    }
  </style>
</head>

<body>
  <h3>使用消息框来和用户互动</h3>
  <span id="myname">你的姓名是:</span>
  <span id="mymajor">你的专业是:</span>
  <button type="button" onclick="message()">点我</button>
  <button type="button" onclick="buyongclear()">清空</button>
  <span id="info" style="display: none;"></span>
  <script type="text/javascript">
    function message() {
      document.getElementById('info').style.display = 'none';
      var m = confirm('想回答问题吗?');
      if (m == true) {
        var x = prompt('第一个问题:你的姓名是什么?');
        if (x != '' || x != null) {
          document.getElementById('myname').innerHTML = '你的姓名是:' + '<strong>' + x + '</strong>';
        }
        var y = prompt('第二个问题:你的专业是什么?');
        if (y != '' || y != null) {
          document.getElementById('mymajor').innerHTML = '你的专业是:' + y;
        }

        if (x == null && y == null || x == '' && y == '') {
          document.getElementById('info').style.display = 'block';
          document.getElementById('info').innerHTML = '你都没有输入呢!';
        }
      } else {
        document.getElementById('info').style.display = 'block';
        document.getElementById('info').innerHTML = '好吧,不想回答问题,那byebye!';
      }
    }


    function buyongclear() {
      var x = confirm('要再来一次吗?');
      console.log(x)
      if (x) {
        document.getElementById('info').style.display = 'block';
        document.getElementById('myname').innerHTML = '你的姓名是:';
        document.getElementById('mymajor').innerHTML = '你的专业是:';
        document.getElementById('info').innerHTML = '';
      }
      else if (!x) {
        document.getElementById('info').style.display = 'block';
        document.getElementById('info').innerHTML = '再见,下次再玩!';
      }
    }
  </script>
</body>

</html>

单等号 是赋值语句 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

我一般判断时候都用===,完全相等才触发

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y

=是赋值,==是比较,===是全等,if判断是比较而不是你写的赋值,===值和类型全部相等