【发布时间】:2019-05-09 23:55:17
【问题描述】:
我发现有这两种方法可以在函数调用上更新变量属性值
示例 1:
function bar( arg ) {
return arg + 1;
}
var foo = {
num: 1
};
foo.num = bar( foo.num );
console.log( foo.num );
示例 2:
function bar( arg ) {
arg.num = arg.num + 1;
}
var foo = {
num: 1
};
bar( foo );
console.log( foo.num );
我想知道每个方法调用的正确命名约定是什么。
还有谁能解释一下,如何在示例 2 所示的封闭函数操作中更新原始变量值?
【问题讨论】:
-
嗯,这是因为对象是作为引用传递的,所以你可以从一个封闭的函数中更新。
标签: javascript function variables pass-by-reference pass-by-value