对字符串变量调用toUppercase()
Calling toUppercase() on a string variable
我是一个初学者,刚刚成功地解决了我的代码问题。我很高兴我找到了它,但它花了我很长时间。我希望知道为什么会发生这种事。
这是有缺陷的原始代码。假设变量[nextAlpha]
已经被分配了一个字符串值:
nextAlpha.toUpperCase();
通过一些创造性的测试,我能够确定是线路引起了问题。我想也许它实际上并没有更新变量[nextAlpha]
的值。我试了一下,结果成功了:
nextAlpha = nextAlpha.toUpperCase();
我已经省略了其余的代码,但假设[var = nextAlpha]
已经在脚本的顶部声明,我认为这意味着"全局"。有了这些信息,我认为只需对变量调用方法就足够了。为什么不像我执行额外步骤将字符串(重新)分配给原始[nextAlpha]
字符串时那样,将字符串"更新"为大写?
toUpperCase
将转换后的字符串作为新对象返回,它不会对nextAlpha
执行转换。
来自Mozilla参考:
toUpperCase方法返回转换为大写的字符串的值。toUpperCase不会影响字符串本身的值。
参考
在JavaScript中,字符串是不可变的:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures
与C等语言不同,JavaScript字符串是不可变的。这意味着一旦创建了一个字符串,就不可能对其进行修改。但是,仍然可以根据对原始字符串的操作创建另一个字符串
toUpperCase()
是一个函数(因此返回一个值)而不是一个属性(影响变量本身)
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何从Java/scala调用js美化程序
- 如何调用这个匿名 JavaScript 函数
- 如何从模块链中调用函数.导出到节点中
- 我需要从php调用javascript或jquery
- Chrome开发工具(如何知道我在调用哪个javascript对象)
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- node.js:setInterval()正在跳过调用
- 如何在单击复选框后调用控制器方法
- 如何在JQuery函数中定义一个值,然后调用另一个函数并使用该值
- 使用Google Visualization动态调用构造函数
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- 对字符串变量调用toUppercase()
- 在传递数组时,调用和应用String.prototype.toUppercase都会产生相同的结果
- 不能调用'toUpperCase'在简单的React/Jest测试中未定义
- 获取 s.Type.ToUpperCase() 不是使用 $ajax 调用 WCF 服务时的函数
- 不能调用未定义的toUpperCase方法