Синтаксис функции JavaScript Объяснение: function object.myFunction () {..} - PullRequest
5 голосов
/ 29 ноября 2011

Я бы посчитал себя достаточно компетентным в JavaScript и знакомым со многими различными способами достижения одного и того же. Но сегодня я натолкнулся на синтаксис функции, которого раньше не видел:

function document.body.onload()
{
    alert('loaded');   
}

Если бы я написал такой код, я бы сделал это так:

document.body.onload = function()
{
    alert('loaded');   
}

Игнорируя тот факт, что это не лучший способ обработки события onload, действительно ли это допустимый JavaScript? Кажется, это вызывает синтаксические ошибки в FireFox (и JSLint), поэтому я предполагаю, что это только синтаксис Internet Explorer? Если это только IE, то я бы хотел удалить его, но я обеспокоен тем, что у него может быть какой-то странный побочный эффект.

Ответы [ 2 ]

10 голосов
/ 29 ноября 2011

function document.body.onload - это нестандартный синтаксис JavaScript. Используйте второй формат, и стреляйте, кто бы ни написал оригинальный код.

Не забывайте точку с запятой после конца }
document.body.onload = function () {
    ...code...
}; //this is easy to miss
1 голос
/ 29 ноября 2011

Нет, это недействительно. вариант function X() {} требует, чтобы имя функции содержало только буквы, цифры, '$' и '_'.

Если вы хотите проверить другой синтаксис, вы можете получить стандарт здесь , но диаграммы синтаксиса в конце JavaScript: Хорошие части гораздо легче усвоить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...