我不知道我做错了什么;但不知何故.toUpperCase()
,字符串函数在我的浏览器上不起作用,或者我有什么问题吗?
var string ="kjsdgfiIJHBVSFIU";
string.toUpperCase();
console.log(string);
我不知道我做错了什么;但不知何故.toUpperCase()
,字符串函数在我的浏览器上不起作用,或者我有什么问题吗?
var string ="kjsdgfiIJHBVSFIU";
string.toUpperCase();
console.log(string);
.toUpperCase
返回大写字符串。它不是就地修改器方法。
string = string.toUpperCase();
文档:https ://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/toUpperCase
字符串是不可变的。一旦创建,字符串对象就不能被修改。
所以这里toUpperCase
返回一个新字符串,这应该工作-
var string ="kjsdgfiIJHBVSFIU";
var newString = string.toUpperCase();
alert(newString);
toUpperCase
返回新字符串,因此您必须编写:
string = string.toUpperCase();
在许多语言中,字符串是不可变的,这意味着它们一旦创建就无法修改。虽然这会降低效率,但它对于面向对象的编程很重要,因为如果通过引用传递给函数的字符串是可修改的,则可以在未经对象同意的情况下更改对象的状态。
var upperCase = string.toUpperCase();
console.log(upperCase);
toUpperCase 不转换现有字符串,它只返回一个大写字符串。
我不知道该字符串是不可更改的,除非您用新名称重新分配它
console.log(i, 'is a ' + typeof i);
var N = i.toUpperCase();
console.log(N);
以前关于字符串不可变的答案很棒!这只是导致此错误的另一个潜在的运行时原因,起初可能很难发现。它不会减损上述任何有效答案:
如果调用该.toUpperCase()
方法的对象不是字符串,则运行时不会“找到”该方法toUpperCase()
,因为该方法/函数仅存在于字符串对象上。
例如console.log(variableName.toUpperCase());
如果 variableName 是 String 类型,它可以正常工作。如果它是另一种类型(没有toUpperCase()
方法,它会说 'toUpperCase() 不是函数(因为它不是)。
如果你知道它应该是一个字符串,你可以像这样转换它:
console.log(String(variableName).toUppercase());
希望能帮助到你。
string
密钥中string
使用can beupperCaseString
或newString
or之类的名称不是一个好的约定updatedString
。这可能是出于测试目的,但请尽量遵循良好的惯例:) 将来会有所帮助。var string ="kjsdgfiIJHBVSFIU";
string = string.toUpperCase();
console.log(string);
// Output:
KJSDGFIIJHBVSFIU
var string ="kjsdgfiIJHBVSFIU";
string = string.toUpperCase();
console.log(string);
将string
值转换为toUpperCase
然后toLowercase
使用方法()的对象。
var string ="kjsdgfiIJHBVSFIU";
console.log(string.toUpperCase());