Показать сообщение отдельно
  #1 (permalink)  
Старый 28.02.2017, 20:41
Кандидат Javascript-наук
Отправить личное сообщение для Diphenyl Oxalate Посмотреть профиль Найти все сообщения от Diphenyl Oxalate
 
Регистрация: 21.01.2017
Сообщений: 139

Ваши самые частые ошибки?
Что вы чаще всего видите в консоли, когда после очередного изменения падает весь скрипт?

У меня это:

- опечатки (не закрыл скобку, кавычку и т.д.)

- описки

var elem = document.createElement("DIV");
document.body.appendChild("DIV"); // WRONG_ARGS_ERR
// или
var elem = document.body.createElement("DIV");


Или лишняя точка с запятой при перечислении в объекте, которую по привычке добавляешь ставишь после длинной строки:

var params = {
	// [...]
	// [...]
	cellDefaultStyles : "длинная-длинная" +
						"строка со стилями";
}


Здесь:

if ( N.indexOf("px") != -1 )


всё хорошо, но только пока в N не попадёт какой-нибудь event.clientX.

Порой случается маразм при копировании небольших кусков кода:

var Header = document.createElement("DIV");
document.body.appendChild(Header);
Header.style.cssText = options.headerStyles;

var Content = document.createElement("DIV");
document.body.appendChild(Header);
Header.style.cssText = options.contentStyles;


elem.style.heigth
elem.style.visibility = "none";


Бессмертная классика.

<script type="text/javascript>
// [...]
// [...]


Можно впасть в психоз, /*комментируя*/ куски кода один за другим. В итоге даже простой алерт не работает, консоль молчит, привычная картина мира начинает сыпаться.
А я ещё люблю при написании скрипта отбить всё переносами строки, чтобы html не отвлекал и перед глазами был только код на js, т.е. этого <script> мне вообще не видно.

elem.style.top = fn(event.clientX);


Обычно ошибку видно сразу, но только если параметры не обрабатываются в нескольких местах... Тогда отладка может занять до двух часов, ведь ошибку ищешь в формулах, когда на деле просто перепутаны top и left.

for (var i = 0; i < K; i++) {
	elems[i].onclick = function () {
		Fn(i); // всегда будет подавать K
			// если вы недостаточно быстрый, чтобы
			// кликнуть до того, как отработает for (шутка)
Ответить с цитированием