我目前正在尝试掌握按引用传递与值传递,据我了解,JS 对象是按引用传递的。
如果是这种情况,为什么第二个 console.log 语句不生成对象属性的大写版本?
任何澄清都会很棒!
var string = {
text: 'This is a string inside an object',
};
console.log(string.text);
string.text.toUpperCase();
console.log(string.text);
最佳答案
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);
关于Javascript - 我以为这会改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39396769/