首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript -我以为这会改变

Javascript -我以为这会改变
EN

Stack Overflow用户
提问于 2016-09-08 17:15:02
回答 4查看 55关注 0票数 2

我目前正试图处理传递引用与值之间的关系,据我所知,JS对象是通过引用传递的。

如果是这样的话,为什么第二个console.log语句不生成对象属性的大写版本?

任何澄清都会很好!

代码语言:javascript
运行
复制
var string = {
  text: 'This is a string inside an object',
};


console.log(string.text);

string.text.toUpperCase();

console.log(string.text);

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-09-08 17:16:41

String#toUpperCase方法不会更新原始字符串,它只返回大写字符串。因此,您需要通过返回的值更新属性值。

代码语言:javascript
运行
复制
var string = {
  text: 'This is a string inside an object',
};


console.log(string.text);

string.text = string.text.toUpperCase();

console.log(string.text);

票数 3
EN

Stack Overflow用户

发布于 2016-09-08 17:17:02

.toUpperCase()不更改原始字符串,但返回一个新字符串。

试一试:

代码语言:javascript
运行
复制
var string = {
  text: 'This is a string inside an object',
};


console.log(string.text);

string.text = string.text.toUpperCase();

console.log(string.text);

票数 0
EN

Stack Overflow用户

发布于 2016-09-08 17:17:09

.toUpperCase();返回大写字符串,但不修改原始参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39396769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档