getElementById
не является методом элементов HTML. Это метод узла документа. Как таковой вы не можете сделать:
div.getElementById('foo'); // invalid code
Вы можете реализовать свою собственную функцию для поиска DOM путем рекурсивного прохождения через children
. В более новых браузерах вы даже можете использовать метод querySelector
. Для минимального развития вы можете использовать библиотеки jQuery или sizzle.js (механизм запросов jQuery).
Они называются #include guard .
После включения заголовка проверяется уникальность значения (в данном случае HEADERFILE_H
) определено. Затем, если он не определен, он определяет его и переходит к остальной части страницы.
При повторном включении кода первый ifndef
не работает, что приводит к пустому файлу.
Это предотвращает двойное объявление любых идентификаторов, таких как типы, перечисления и статические переменные.
Их называют ifdef или включают защиту.
При записи небольшой программы это могло бы казаться, что это не нужно, но поскольку проект растет, Вы могли намеренно или неумышленно много раз включать один файл, который может привести к компиляции, предупреждающей как переменная, уже объявленная.
#ifndef checks whether HEADERFILE_H is not declared.
#define will declare HEADERFILE_H once #ifndef generates true.
#endif is to know the scope of #ifndef i.e end of #ifndef
, Если не объявляется, что означает, #ifndef генерирует верный тогда только часть между #ifndef и #endif, выполняемым иначе нет. Это предотвратит от нового объявления идентификаторов, перечислений, структуры, и т.д.