Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用select value作为运算符_Javascript - Fatal编程技术网

Javascript 使用select value作为运算符

Javascript 使用select value作为运算符,javascript,Javascript,如何使用select的值作为运算符进行计算 <select id="operation"> <option value="+">+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> </select> 然

如何使用select的值作为运算符进行计算

<select id="operation">
    <option value="+">+</option>
    <option value="-">-</option>
    <option value="*">*</option>
    <option value="/">/</option>
</select>
然后是否有其他方法使用开关()?

尝试评估

eval("x = A" + op + "B");
alert(x);
试评估

eval("x = A" + op + "B");
alert(x);

试试这样的

var operators = {
    '+': function(a, b) { return a + b },
    '-': function(a, b) { return a - b },
    '*': function(a, b) { return a * b },
    '/': function(a, b) { return a / b }
};

var op = '+';
alert(operators[op](10, 20));

试试这样的

var operators = {
    '+': function(a, b) { return a + b },
    '-': function(a, b) { return a - b },
    '*': function(a, b) { return a * b },
    '/': function(a, b) { return a / b }
};

var op = '+';
alert(operators[op](10, 20));

可以使用对象将值映射到函数:

var operators = {
    '+': function(x, y) { return x + y; },
    '-': function(x, y) { return x - y; },
    '*': function(x, y) { return x * y; },
    '/': function(x, y) { return x / y; }
};

var result = operators[op](A, B);

可以使用对象将值映射到函数:

var operators = {
    '+': function(x, y) { return x + y; },
    '-': function(x, y) { return x - y; },
    '*': function(x, y) { return x * y; },
    '/': function(x, y) { return x / y; }
};

var result = operators[op](A, B);