我读了这个blog post关于如何通过引用 JavaScript 中的函数潜在地传递原语。乍一看它似乎可行,但我想知道它会带来哪些潜在的陷阱。
function modifyVar(obj, val) {
obj.valueOf = obj.toSource = obj.toString = function(){ return val; };
}
var myString = 'old string';
console.log(myString); // logs "old string"
myString = Object(myString); // convert to object
modifyVar(myString, 'new string');
myString = myString.valueOf(); // Was not in blog post. Added to return to primitive
console.log(myString); // logs "new string"
最佳答案
不,不是。您只是需要付出很多努力来模拟不可修改对象的修改(即使 Javascript 是按引用传递的,字符串是不可变的)。
关于javascript - 这是一种在 JavaScript 中通过引用传递的迂回方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21314866/