在js中更改函数变量的类型

时间:2019-07-19 15:07:51

标签: javascript

我想将函数变量类型强制为字符串

function removeFirstCharacter (element) {
        var el = (element).toString();
        return el.slice(1);
    }

removeFirstCharacter(0011)->返回''而不是011。 我不知道为什么0011会转换为空字符串。我的目标是输入数字时,该数字应转换为字符串。该代码对于字符串参数可以正常工作。数字的情况仅是我的问题。任何指导将不胜感激。谢谢

3 个答案:

答案 0 :(得分:3)

  

removeFirstCharacter(0011)->返回”而不是011。我不知道为什么0011会转换为空字符串。

数字中的前导零表示javascript将其视为八进制。因此0011的十进制表示9,因此removeFirstCharacter(0011)实际上是removeFirstCharacter(9)。将其转换为字符串时,将得到“ 9”,而删除第一个字符时,将得到一个空字符串。

答案 1 :(得分:1)

在元素上删除()。

function removeFirstCharacter (element) {
        var el = element.toString();
        return el.slice(1);
}

console.log(removeFirstCharacter(123));
console.log(removeFirstCharacter("123"));

答案 2 :(得分:0)

您要提供的输入数字不是十进制,并且如前所述,当转换为十进制0011时,它等于9。因此,您将需要将所有数字输入解析为十进制,如下面的console.log中所示。

从不允许将输入数据视为“数字”-调用removeFirstCharacter时,应将其始终保留为字符串,直到将其解析为int为止。

function removeFirstCharacter (element) {
  return element.toString().slice(1);
}

console.log(removeFirstCharacter(parseInt('0011', 10)));