0

所以我试图随机化我是加还是减。现在在这段代码中应该发生的是当我导航到#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 -->

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

4

3 回答 3

4

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

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

现在您可以分配operations.plus或分配operations.minus给另一个变量:

var op = operations[ operationName ];

如果您想执行该操作:

var answer = op( input1, input2 );
于 2013-07-08T14:20:12.813 回答
1

所以你想要……一个字符串?

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

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

于 2013-07-08T14:14:35.767 回答
0

尝试将运算符放在字符串“+”或“-”或“*”或“/”中

symbol = "+";

不,您不能将运算符分配给变量

于 2013-07-08T14:15:43.353 回答