开发者问题收集

touppercase()没有使字符串上限

2013-03-10
39956

我不知道我做错了什么; 但不知何故 .toUpperCase() 字符串函数在我的浏览器上不起作用 还是我做错了什么?

var string ="kjsdgfiIJHBVSFIU";
string.toUpperCase();
console.log(string);

现场演示

3个回答

.toUpperCase 返回大写字符串。它不是就地修饰符方法。

string = string.toUpperCase();

文档: https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/toUpperCase

Explosion Pills
2013-03-10

String is Immutable. Once created, a string object can not be modified.

因此这里 toUpperCase 返回一个新字符串,这应该可以工作-

var string ="kjsdgfiIJHBVSFIU";
var newString = string.toUpperCase();
alert(newString);
ssilas777
2013-03-10

toUpperCase 返回新字符串,因此您必须这样写:

string = string.toUpperCase();

在许多语言中,字符串是不可变的,这意味着一旦创建就无法修改。虽然这会降低效率,但对于面向对象编程来说却很重要,因为如果通过引用传递给函数的字符串是可修改的,则对象的状态可能会在未经对象同意的情况下发生变化。

bcoughlan
2013-03-10