0

我正在尝试在其基本阶段制作一个 javascript 项目,其中脚本应提示用户,询问一个数字作为输入,将数字转换为字母并将其显示给用户。然而,它不能正常工作的脚本。

<html>
<head>
<script type="text/javascript">
function num()
{
    var arr1=new Array();
    var arr2=new Array();
    var i;
    var start=0;
    var end=start + 1;
    arr1[0]=prompt('Enter Number');
    for (i=0;i<2;i++)
    {
        arr2[i]=arr1[0].slice(start, end);
        arr2[i]=parseInt(arr2[i]);
        start++;
        end=start + 1;
        switch(arr2[i])
        {
            case 1:
                document.body.innerHTML = document.body.innerHTML + 'one';
                break;
            case 2:
                document.body.innerHTML = document.body.innerHTML + 'two';
                break;
            case 3:
                document.body.innerHTML = document.body.innerHTML + 'three';
                break;
            case 4:
                document.body.innerHTML = document.body.innerHTML + 'four';
                break;
            case 5:
                document.body.innerHTML = document.body.innerHTML + 'five';
                break;
            case 6:
                document.body.innerHTML = document.body.innerHTML + 'six';
                break;
            case 7:
                document.body.innerHTML = document.body.innerHTML + 'seven';
                break;
            case 8:
                document.body.innerHTML = document.body.innerHTML + 'eight';
                break;
            case 9:
                document.body.innerHTML = document.body.innerHTML + 'nine';
                break;
        }
    }
}
onload=num();
</script>
</head>
<body>
</body>
</html>
4

2 回答 2

3

特别是,我真的不喜欢switch结构。我更喜欢 JavaScript 文字对象表示法。

在下面检查:

html

<input type="button" id="getMyNumber" value="Get my Number"/>

JavaScript + jQuery

$(function() {
  $('#getMyNumber').on('click', function() {
      var numbers = {
          "1": "One",
          "2": "Two",
          "3": "Three",        
          "4": "Four",
          "5": "Five",
          "6": "Six",
          "7": "Seven",
          "8": "Eight",
          "9": "Nine",
          "10": "Ten",
          "default": "No number typed!"
      };
      var input = prompt("Type a number: ");                     
      alert(numbers[input] || numbers["default"]);
   });
});

如果您愿意,可以使用 jsFiddle。无需转换或技巧,只需简单的 JavaScript。

一些参考资料:

Mozilla - 使用对象

反对 Switch 的案例

- 编辑 -

这是仅使用 JavaScript 的解决方案,以避免批评(jQuery 加载、重载等):

html

<input type="button" id="getMyNumber" value="Get my Number" onclick="getNumberRepresentation()" />

仅限 JavaScript

function getNumberRepresentation() {
  var numbers = {
      "1": "One",
      "2": "Two",
      "3": "Three",        
      "4": "Four",
      "5": "Five",
      "6": "Six",
      "7": "Seven",
      "8": "Eight",
      "9": "Nine",
      "10": "Ten",
      "default": "No number typed!"
  };
  var input = prompt("Type a number: ");                     
  alert(numbers[input]);
}

另一个jsFiddle版本。

于 2012-08-17T18:08:51.740 回答
0

看看我为你做的这个小提琴。

编辑:来源:

html:

<p onclick="javascript:ask();">Click</p>​

Javascript:

function ask(){

    var inputAsString;
    var userInput = prompt("Pick a number");

    switch( parseInt(userInput) ){

        case 1:
            inputAsString = "One";
        break;
        case 2:
            inputAsString = "Two";
        break;
        default:
            inputAsString = "I don't know...";           
    }

    alert( "\"" + userInput + "\" as a string is: " + inputAsString );
}​
于 2012-08-17T17:57:30.387 回答