Почему функция click() не вызывается?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>test</title>
</head>
<body>
    <button onclick="click()">Click</button>
    <script>
    function click() {
        console.log('Hello world');
    }
    </script>
</body>
</html>

Ответы (3 шт):

Автор решения: ΝNL993

Не понимаю почему это влияет на работоспособность, но дело в названии функции.

<button onclick="onClick()">Click</button>
<script>
function onClick() {
    console.log('Hello world');
}
</script>

→ Ссылка
Автор решения: SwaD

Не используйте зарезервированные методы элементов HTML для имен функций, которые вы передаете в строковые значения атрибутов on*.

Например для click() и button, запись onclick="click()" интерпритируется как вызов button.click() т.к. у button есть метод click

Назовите функцию по другому и заработает

function myClick() {
    console.log('Hello world');
}

Однако!

Т.к. функция создается в window, то сработает, если мы вызовем функцию следующим образом window.click()

<button onclick="window.click()">Click</button>
<script>
function click() {
    console.log('Hello world');
}
→ Ссылка
Автор решения: mash

Видимо, дело в названии, попробуйте переименовать функцию:

function onClick() {
    console.log('click');
}
→ Ссылка