Хотя функции могут получать доступ к значениям из замыканий, x не определено в закрывающем замыкании для foo.Однако вы можете получить к нему доступ, используя options.x
, так как параметры определены в закрытии
var options = {x:4,y:3};
foo(options);
function foo() {
console.log(options.x);
}
console.log(options.y);
Вы также можете получить значения из аргумента, переданного в функцию
var options = {x:4,y:3};
foo(options);
function foo(value) {
console.log(value.x);
}
console.log(options.y);
Или вы можете деструктурировать его из аргументов и получить к нему доступ
var options = {x:4,y:3};
foo(options);
function foo({x}) {
console.log(x);
}
console.log(options.y);