.toLowerCase 在调用数字替换功能时不起作用?

问题描述 投票:0回答:7

当我尝试在数字上使用

.toLowerCase
方法时,它给我一个错误。这就是我所拥有的:

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

然后它给了我这个错误:

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

我不知道我哪里错了。我一直以为数字也可以解析,结果不会改变(也许这就是我塞的地方)。

但是如果这不是错误,有人可以编写一个自定义

makeLowerCase
函数,使字符串小写,也许使用正则表达式或其他东西吗?

javascript string lowercase
7个回答
161
投票

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

您可以在 JavaScript 中调用

.toString()
来获取字符串表示形式。

将所有这些放在一起:

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

7
投票

Numbers 继承自

Number
构造函数,该构造函数没有
.toLowerCase
方法。其实你可以查一下:

"toLowerCase" in Number.prototype; // false

7
投票

这不是一个错误。当需要字符串时(例如

parseInt(42)
),Javascript 很乐意将数字转换为字符串,但在这种情况下,没有任何东西期望数字是字符串。

这是一个

makeLowerCase
函数。 :)

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

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

4
投票

它是一个数字,而不是一个字符串。数字没有

toLowerCase()
函数,因为数字一开始就没有大小写。

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

var ans = "334";

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


4
投票
const myvar = 222;
const tempVar = myvar.toString().toLowerCase();
alert(tempVar);

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


2
投票

你也可以用这个。

function strtolower(value){

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

var ans=strtolower( 334); 
© www.soinside.com 2019 - 2024. All rights reserved.