САЙТ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ НА РУССКОМ ЯЗЫКЕ
×

JS Учебник

JS Главная JS Введение JS Установка JS Вывод JS Синтаксис JS Заявления JS Комментарии JS Переменные JS Операторы JS Арифметика JS Присваивания JS Типы данных JS Функции JS Объекты JS Область JS События JS Строки JS Методы строк JS Числа JS Методы чисел JS Массивы JS Методы массива JS Сортировка массива JS Итерация массива JS Даты JS Формат даты JS Метод получения дат JS Методы набора... JS Математические... JS Случайные числа JS Булевы JS Сравнение... JS Заявления if...else JS Заявление switch JS Цикл for JS Цикл while JS Заявление break... JS Преобразование... JS Битовые... JS Регулярные выражения JS Ошибки JS Отладчик JS Подъемный JS Строгий JS Ключевое слово this JS Руководство стиля JS Практика JS Распространенные ошибки JS Эффективность JS Зарезервированные слова JS Версии JS Версия ES5 JS Версия ES6 JS JSON

JS Формы

JS Формы JS Формы API

JS Объекты

Определение объекта Свойства объекта Методы объекта Доступ к объекту Конструкторы объекта Прототипы объекта Объект ECMAScript 5

JS Функции

Определение функции Параметры функции Вызов Функции Вызвать Функцию Применение функции Закрытие Функции

JS HTML DOM

DOM Введение DOM Методы DOM Документы DOM Элементы DOM HTML DOM CSS DOM Анимация DOM События DOM Слушатель события DOM Навигация DOM Узлы DOM Коллекции DOM Список узлов

JS Браузера BOM

JS Окно JS Экран JS Местоположение JS История JS Навигатор JS Всплывающее окна JS Синхронизация JS Cookies

JS AJAX

AJAX Введение AJAX XMLHttp AJAX Запрос AJAX Ответ AJAX XML Файл AJAX PHP AJAX ASP AJAX База данных AJAX Приложения AJAX Примеры

JS JSON

JSON Введение JSON Синтаксис JSON или XML JSON Типы данных JSON Парсинг JSON Строки JSON Объекты JSON Массивы JSON PHP JSON HTML JSON JSONP

JS или jQuery

jQuery Селекторы jQuery HTML jQuery CSS jQuery DOM

JS Примеры

JS Примеры JS HTML DOM JS HTML Ввод


JavaScript Руководство стиля



Всегда используйте одно и те же соглашение о кодировании для всех ваших JavaScript проектов.


JavaScript соглашения о кодировании

Соглашение о кодировании: рекомендации по стилю программирования. Они обычно покрывают:

  • Правила именования и объявления переменных и функций.
  • Правила использования пробелов, отступов и комментариев.
  • Практика и принципы программирования

Соглашение о кодировании гарантии качества:

  • Улучшает читаемость кода
  • Сделать обслуживание кода проще

Соглашение о кодировании могут быть документированными правилами для команд, которым нужно следовать, или просто вашей индивидуальной практикой кодирования.

В данном разделе описаны общие правила код JavaScript используется Schoolw3.
Вы также должны прочитать следующую главу "Практика" и узнать, как избежать ошибок в кодировании.


Переменная имя

В Schoolsw3 мы используем camelCase для имен идентификаторов (переменных и функций).

Все имена начинаются с литеры.

В нижней части этой страницы вы найдете более широкое обсуждение именования правила.

firstName = "Андрей";
lastName = "Щипунов";

price = 19.90;
tax = 0.20;

fullPrice = price + (price * tax);

Пробелы вокруг операторов

Всегда ставьте пробелы вокруг операторов ( = + - * / ), и после запятых:

Примеры:

var x = y + z;
var values = ["Вольво", "Сааб", "Фиат"];


Отступ кода

Всегда используйте 4 пробела для отступов блоков кода:

Функции:

function toCelsius(fahrenheit) {
    return (5 / 9) * (fahrenheit - 32);
}

Не используйте вкладки (табуляторы) для отступов. Разные редакторы интерпретируют вкладки по-разному.


Правила заявлений

Общие правила для простых заявлений:

  • Всегда заканчивайте простое заявлений точкой с запятой.

Примеры:

var values = ["Вольво", "Сааб", "Fiat"];

var person = {
    firstName: "Андрей",
    lastName: "Щипунов",
    лет: 50,
    eyeColor: "зеленый"
};

Общие правила для сложных (составных) заявлений:

  • Поместите открывающую скобку в конце первой строки.
  • Используйте один пробел перед открывающей скобкой.
  • Поместите закрывающую скобку на новую линию, без ведущих пробелов.
  • Не заканчивайте сложное заявление точкой с запятой

Функция:

function toCelsius(fahrenheit) {
    return (5 / 9) * (fahrenheit - 32);
}

Цикл:

for (i = 0; i < 5; i++) {
    x += i;
}

Условие:

if (time < 20) {
    greeting = "Хороший день";
} else {
    greeting = "Добрый вечер";
}

Правила объекта

Общие правила для определений объектов:

  • Поместите открывающую скобку на ту же строку, что и имя объекта.
  • Используйте двоеточие плюс один пробел между каждым свойством и его значением.
  • Используйте кавычки вокруг строковых значений,а не вокруг числовых.
  • Не добавляйте запятую после последней пары свойство-значение.
  • Поместите закрывающую скобку на новую линию, без начальный пробел.
  • Всегда заканчивайте определение объекта точкой с запятой.

Пример

var person = {
    firstName: "Андрей",
    lastName: "Щипунов",
    лет: 50,
    eyeColor: "зеленый"
};

Короткие объекты могут быть записаны сжатыми, на одной строке, используя только пробелы между свойствами, как это:

var person = {firstName:"Андрей", lastName:"Щипунов", лет:50, eyeColor:"зеленый"};

Длина строки < 80

Для удобства чтения избегайте строк длиннее 80 персонажи.

Если оператор JavaScript не помещается на одной строке, лучшее место для разрыва это, после оператора или запятой.

Пример

document.getElementById("demo").innerHTML =
    "Привет Долли.";
Попробуйте сами »

Соглашение об именах

Всегда используйте одно и то же соглашение об именовании для всего кода. Например:

  • Имена переменных и функций записываются как camelCase
  • Глобальные переменные, записанные в ВЕРХНИЙРЕГИСТР (Мы не знаем, но это так. весьма обычный)
  • Константы (например, PI), записанные в ВЕРХНИЙРЕГИСТР

Следует ли вам использовать hyp-hens, camelCase, или under_scores в именах переменных?

Этот вопрос часто обсуждают программисты. Ответ зависит от того, что вы спрашиваетет:

Дефисы в HTML и CSS:

Атрибуты HTML5 могут начинаться с данных - (data-quantity, data-price).

CSS использует дефисы в именах свойств (font-size).

Дефисы могут быть ошибочно приняты за попытки вычитания. Дефисы не допускаются в именах JavaScript.

Подчеркивание:

Многие программисты предпочитают использовать подчеркивания (date_of_birth), особенно в SQL база данных.

Подчеркивания часто используются в документации PHP.

PascalCase:

PascalCase часто предпочитают программисты на языке С.

camelCase:

camelCase использует сам по себе JavaScript и на jQuery и другие JavaScript библиотеки.

Не начинайте имена со знака $. Это поставит вас в конфликт со многими именами библиотек JavaScript.


Загрузка JavaScript в HTML

Используйте простой синтаксис для загрузки внешних скриптов (атрибут type отсутствует не обязательный):

<script src="myscript.js"></script>

Доступ к элементам HTML

Следствием использования стили HTML "неопрятно", что может привести к ошибкам в JavaScript.

Эти два заявления JavaScript приведут к различным результатам:

var obj = getElementById("Demo")

var obj = getElementById("demo")

Если возможно, используйте то же самое соглашение об именовании (как JavaScript) в HTML.

Посетите руководство по стилю HTML.


Расширение файла

HTML файлы должны иметь расширение .html (не .htm).

CSS файлы должны иметь расширение .css.

JavaScript файлы должны иметь расширение .js.


Используйте имена файлов в нижнем регистре

Большинство веб-серверов (Apache, Unix) чувствительны к регистру имен файлов:

london.jpg не могут быть доступны как London.jpg.

Другие веб-серверы (Microsoft, IIS) не учитывают регистр символов:

london.jpg может быть доступен как London.jpg или london.jpg.

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

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

Чтобы избежать этих проблем, всегда используйте имена файлов в нижнем регистре (если это возможно).


Представление

Соглашения о кодировании не используются компьютерами. Большинство правил имеют мало влияет на выполнение программ.

Отступы и дополнительные пробелы не являются существенными в небольших сценариях.

При разработке кода следует отдавать предпочтение удобочитаемости. Крупное производство сценарии должны быть минимизированы.