如何使用 JavaScript 进行 OR 门和 AND 门操作实现

How to do OR gate and AND gate operation implementation by using JavaScript?

本文关键字:AND 操作 实现 门和 OR 何使用 JavaScript 进行      更新时间:2023-09-26

我在制作JavaScript代码和HTML代码以实现OR-gate和AND-gate的逻辑操作时遇到了问题.第一件事是,我需要制作OR-gate对象和AND-gate对象及其操作("*","+")。完整代码如下所示:

<html>
<head>
<script>
/*var OR_gate = {
    name: "or_gate";
    operation: '+';
};
var AND_gate = {
    name: "and_gate";
    operation: '*';
};*/
function getOutputResult()
{
    var input1 = document.getElementByName('input1').value;
    var input2 = document.getElementByName('input2').value;
    if(document.getElementByName('gate').name == "or_gate")
    {
        var logic = input1 + input2;
    }
    if(document.getElementByName('gate').name == "and_gate")
    {
        var logic = input1 * input2;
    }
    document.getElementByName("output").innerHTML = logic;
  }
  </script>
  </head>
  <body>
<h3><u> OR , AND gates operation </u></h3>
<form>
 Input 1: <select name="input1"><option value="1">1</option><option value="2">0</option></select><br><br>
 Input 2: <select name="input2"><option value="1">1</option><option value="2">0</option></select><br><br>
 Operation gate: <select name="gate"><option name="or_gate" >OR gate</option><option name="and_gate" >AND gate</option></select><br><br>
 <button onclick="getOutputResult()">DONE</button>
 </form>
 <br><br>
 Result : <label name="output">OUTPUT</label>
 </body>  
 </html>
string logic = input1+operation+input2;
document.getElementByName("output").innerHTML = logic.value;

在 JavaScript 中,您不会显式声明字符串的类型。 此外,字符串是原始的。 访问字符串的 value 属性的默认结果是 undefined

可能还有其他错误,但您绝对需要将上面的代码更改为如下所示:

var logic = input1 + operation + input2;
document.getElementByName("output").innerHTML = logic;

getOutputResult(this(input1),this(input2),this(gate)) 

对任何内容都无效。 看起来您想通过input1input2但您无法像this(varname)一样访问它们。 您需要从DOM中获取它。 最简单的方法可能只是为每个字段提供一个唯一的 ID,以便您可以全局执行类似 document.getElementById('input1_id').value