Попробуйте это:
with ({ mark: marker }) {
google.maps.event.addListener(mark, 'click', function() {
createWindow(mark.id);
});
}
Пример, демонстрирующий использование with
:
for (var i = 0; i < 10; i++) {
setTimeout(function() { console.log(i); }, 1000);
}
Выше будет протоколировать 10
десять раз.
for (var i = 0; i < 10; i++) {
with ({ foo: i }) {
setTimeout(function() { console.log(foo); }, 1000);
}
}
Это будет регистрировать 0
до 9
, по желанию, благодаря with
, вводящему новую область.
JavaScript 1.7 имеет оператор let
, который лучше, но пока он не получил широкой поддержки, вы можете использовать with
.
И используйте var
для своих переменных.