我目前正试图处理传递引用与值之间的关系,据我所知,JS对象是通过引用传递的。
如果是这样的话,为什么第二个console.log语句不生成对象属性的大写版本?
任何澄清都会很好!
var string = {
text: 'This is a string inside an object',
};
console.log(string.text);
string.text.toUpperCase();
console.log(string.text);
发布于 2016-09-08 17:16:41
String#toUpperCase方法不会更新原始字符串,它只返回大写字符串。因此,您需要通过返回的值更新属性值。
var string = {
text: 'This is a string inside an object',
};
console.log(string.text);
string.text = string.text.toUpperCase();
console.log(string.text);
发布于 2016-09-08 17:17:02
.toUpperCase()不更改原始字符串,但返回一个新字符串。
试一试:
var string = {
text: 'This is a string inside an object',
};
console.log(string.text);
string.text = string.text.toUpperCase();
console.log(string.text);
发布于 2016-09-08 17:17:09
.toUpperCase();返回大写字符串,但不修改原始参数。
https://stackoverflow.com/questions/39396769
复制相似问题