Обратиться к объекту, область видимости
<script>
try {
const p = {
int: function(setti){
alert('dsf');
}
}
} catch (err) {
console.log(err);
}
</script>
<body>
<script>
window.addEventListener('DOMContentLoaded', () => p.int({}));
</script>
</body>
Необходимо обернуть js код, ловить ошибки и записывать из в файл. Собственно с этим нет трудностей.
Вопрос в том, если оборачивать таким образом, а затем из html обращаться к объекту. То в таком случаи попросту не видит объявленную константу. Возможно это поправить?
<script>
const p = {};
try {
p.int = setti =>{
p.gg();
}
p.gg = setti =>{
alert('11dsf');
}
} catch (err) {
console.log(err);
}
</script>
<body>
<script>
window.addEventListener('DOMContentLoaded', () => p.int({}));
</script>
</body>
Есть такой вариант, но блин. Все писал через 'this', придется много править...
Ответы (1 шт):
объявление const видно только внутри try.
Однако, в данном случае нет смысла оборачивать присваивание в блок try..catch - так как оно не может вызвать исключение.
Таким образом сейчас твоим примеры одинаково работают как с try..catch так и без.
Если исключение происходит при вызове метода - try..catch должен быть объявлен внутри функции
<script>
const p = {
int: function(setti){
try {
alert('dsf');
} catch(e) {
console.log(e);
}
}
}
</script>
<body>
<script>
window.addEventListener('DOMContentLoaded', () => p.int({}));
</script>
</body>