javascript不允许我将变量设置为运算符(+ - / *)

时间:2013-07-08 14:13:05

标签: javascript operator-keyword jquery-mobile

所以我试图随机化我是添加还是减去。现在在这段代码中应该发生的事情是,当我导航到#second页面时,代码将加载一个新的问题被创建。在问题函数内部应该得到一个随机数0或1,然后根据该数字,变量符号应设置为加号或减号。 这种情况没有发生。

所以我的问题是:我可以将变量设置为javascript运算符符号吗?

在下面的代码中,它永远不会写入屏幕,因为它不喜欢我将变量设置为+ - 符号? 有问题的代码:

$(document).delegate("#second", "pageshow", function(){
    var problem = new Problem;
    function Problem (){

            var num = Math.floor(Math.random()*2);
            var symbol;
             if(num)
                symbol = +;
            else
                symbol = -;
            $(".random").html(num + "  " + symbol); 


    }
});  

这是我的HTML:          

</script>
    <div data-role="header" data-position="fixed">

        <h1>Hello</h1>
    </div><!-- /header -->

    <div data-role="content" id="timer">
         <a href="#main" data-role="button">main</a> 
         <p class="random"></p>         
    </div><!-- /content -->

    <div data-role="footer" data-position="fixed">
        <h4>Goodbye</h4>
    </div><!-- /footer -->

</div><!-- /page -->

抱歉应该提到我以后真的想要使用运算符因此我需要能够分配+或 - 这样我就可以在以后用它们执行合法的数学运算。

3 个答案:

答案 0 :(得分:4)

您不能分配运算符,但可以创建执行运算和分配函数的函数。

var operations = {
  plus: function(a, b) { return a + b; },
  minus: function(a, b) { return a - b; }
};

现在,您可以将operations.plusoperations.minus分配给另一个变量:

var op = operations[ operationName ];

如果您想要执行操作:

var answer = op( input1, input2 );

答案 1 :(得分:1)

所以你想......一个字符串?

if(num)
    symbol = "+";
else
    symbol = "-";

字符串用于文本,您需要一个或多个文本字符串。

答案 2 :(得分:0)

尝试将操作符放在字符串“+”或“ - ”或“*”或“/”

symbol = "+";

否则您无法将运算符分配给变量