Javascript - 将数字变量拆分为函数

时间:2017-03-08 17:00:11

标签: javascript function variables

遇到一些问题让我头疼。我正在尝试使用函数将变量拆分为两个,然后在每个字符周围添加一个html <span>标记。 我已经设法通过变量很容易地完成这个过程,但是当我尝试作为一个函数它不起作用时。

<script>
var value = "30";

function myFunction(a) {
    var a = a.split("", 2);
    var a = "<span>" + a[0] + "</span><span>" a[1] + "</span>";
}

document.getElementById("demo").innerHTML = myFunction(value);</script>

有关为什么会出现这种情况的任何提示?

3 个答案:

答案 0 :(得分:1)

  • 您必须从函数
  • 返回一个值
  • 您错过了+
  • 中的一个"<span>" + a[0] + "</span><span>" a[1] + "</span>"
  • 如果要在每个字符处拆分一个单词,请使用空引号作为参数
  • 您使用了三个a变量,在声明新变量时覆盖了每个变量

&#13;
&#13;
var value = "30";

function myFunction(a) {
    var b = a.split('');
    return "<span>" + a[0] + "</span><span>" + a[1] + "</span>";
}

document.getElementById("demo").innerHTML = myFunction(value);
&#13;
<p id='demo'></p>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

由于字符串是数组,您可以这样做:

NaN (Not-a-Number)
var test = "1234";

function wrapSpans(a) {
    var tempStr = "";
    var x = 0;
    while(x < a.length) {
        tempStr += `<span>${a[x]}</span>`;
        x++;
    }
    return tempStr;
}

var value = "30";

document.querySelector("#demo").innerHTML = wrapSpans(test);
span {
  padding: 2px;
  background: yellow;
  margin: 2px;
}

div {
  padding: 2px;
  background: grey;
}

答案 2 :(得分:0)

  1. 您缺少行中的+运算符 var a = "<span>" + a[0] + "</span><span>" a[1] + "</span>";

    应该是

    var a = "<span>" + a[0] + "</span><span>" + a[1] + "</span>";

  2. 您需要从函数中返回一个值。

  3. 无需一次又一次重新定义var a

  4. &#13;
    &#13;
    var value = "30";
    
    function myFunction(a) {
        var a = a.split("", 2);
        a = "<span>" + a[0] + "</span><span>" + a[1] + "</span>";
        return a;
    }
    
    document.getElementById("demo").innerHTML = myFunction(value);
    &#13;
    <div id="demo"></div>
    &#13;
    &#13;
    &#13;