65

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

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

然后它给了我这个错误:

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

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

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

4

7 回答 7

155

.toLowerCase()函数仅存在于字符串上。

您可以调用.toString()JavaScript 中的任何内容来获取字符串表示形式。

把这一切放在一起:

var ans = 334;
var temp = ans.toString().toLowerCase();
alert(temp);
于 2012-09-26T22:51:56.323 回答
7

Number数字从没有该.toLowerCase方法的构造函数继承。其实你可以查一下:

"toLowerCase" in Number.prototype; // false
于 2012-09-26T22:53:59.337 回答
7

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

这是一个makeLowerCase函数。:)

function makeLowerCase(value) {
  return value.toString().toLowerCase();
}
于 2012-09-26T22:58:15.537 回答
6
var ans = 334 + '';
var temp = ans.toLowerCase();
alert(temp);
于 2012-09-26T22:51:17.833 回答
4

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

要使函数正确运行,请在字符串上运行它。

var ans = "334";

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

于 2012-09-26T22:50:17.527 回答
2
const myvar = 222;
const tempVar = myvar.toString().toLowerCase();
alert(tempVar);

请使用以下代码,因为toLowerCase(); 应用于字符串,因此首先需要使用toString()方法将其转换为字符串

于 2021-05-19T14:11:54.760 回答
2

你也可以使用这个。

function strtolower(value){

 return ("" +  value).toLowerCase();
}

var ans=strtolower( 334); 
于 2021-08-13T21:37:05.850 回答