.toLowerCase不工作,更换功能?

时间:2012-09-26 22:48:45

标签: javascript string lowercase

当我尝试在数字上使用时,.toLowerCase方法会给我一个错误。这就是我所拥有的:

var ans = 334;
var temp = ans.toLowerCase();
alert(temp);

然后它给了我这个错误:

'undefined' is not a function (evaluating 'ans.toLowerCase()')

我不知道我错在哪里。我一直认为数字也可以解析,结果没有变化(也许就是我填充的地方)。

但如果这不是错误,有人可以编写自定义makeLowerCase函数,使字符串小写,也许使用正则表达式或其他东西吗?

5 个答案:

答案 0 :(得分:94)

.toLowerCase函数仅存在于字符串上。您可以在javascript中的任何内容上调用toString()来获取字符串表示。把这一切放在一起:

var ans = 334;
var temp = ans.toString().toLowerCase();
alert(temp);

答案 1 :(得分:6)

数字继承自Number构造函数,该构造函数没有.toLowerCase方法。事实上你可以查一查:

"toLowerCase" in Number.prototype; // false

答案 2 :(得分:5)

这不是错误。当需要字符串时,Javascript很乐意将数字转换为字符串(例如parseInt(42)),但在这种情况下,没有任何东西可以期望该数字为字符串。

这是一个makeLowerCase函数。 :)

function makeLowerCase(value) {
  return value.toString().toLowerCase();
}

答案 3 :(得分:4)

var ans = 334 + '';
var temp = ans.toLowerCase();
alert(temp);

答案 4 :(得分:3)

这是一个数字,而不是一个字符串。数字没有toLowerCase()函数,因为数字首先没有大小写。

要使函数无错误地运行,请在字符串上运行它。

var ans = "334";

当然,输出将与输入相同,因为如上所述,数字首先没有大小写。