当我尝试在数字上使用时,.toLowerCase
方法会给我一个错误。这就是我所拥有的:
var ans = 334;
var temp = ans.toLowerCase();
alert(temp);
然后它给了我这个错误:
'undefined' is not a function (evaluating 'ans.toLowerCase()')
我不知道我错在哪里。我一直认为数字也可以解析,结果没有变化(也许就是我填充的地方)。
但如果这不是错误,有人可以编写自定义makeLowerCase
函数,使字符串小写,也许使用正则表达式或其他东西吗?
答案 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";
当然,输出将与输入相同,因为如上所述,数字首先没有大小写。