Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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 (шутка)
Ответить с цитированием
  #2 (permalink)  
Старый 01.03.2017, 07:17
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Очень не хватает Elvis оператора.
var o = {}
if (o.coords.lat) {}
//Uncaught TypeError: Cannot read property 'lat' of undefined

Ну а так, большинство опечаток/ошибок решаются/фиксятся на этапе написания кода, благодаря IDE и линтеру. В TypeScript, с этим ещё проще.
Ответить с цитированием
  #3 (permalink)  
Старый 21.05.2017, 06:22
Аватар для palinka
Интересующийся
Отправить личное сообщение для palinka Посмотреть профиль Найти все сообщения от palinka
 
Регистрация: 17.05.2017
Сообщений: 16

да такие ошибки у каждого бывают. Это скорее описки, нежели чем ошибки.
Ответить с цитированием
  #4 (permalink)  
Старый 31.08.2017, 08:40
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Diphenyl Oxalate,
Если Sublime пользуетесь, установите Sublime Linter, jslint
https://habrahabr.ru/post/262137/
и скобки, точки с запятой останутся в прошлом.

у меня самые частые = опечатки в названиях селекторов и кривые регулярки =(
Ответить с цитированием
  #5 (permalink)  
Старый 31.08.2017, 09:09
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,118

Сообщение от j0hnik
установите Sublime Linter, jslint
https://habrahabr.ru/post/262137/
и скобки, точки с запятой останутся в прошлом.
Нужно сразу набирать парные символы и сразу ставить ";"... Уже много лет никаких проблем...
Ответить с цитированием
  #6 (permalink)  
Старый 31.08.2017, 11:53
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,126

вера в себя, доверие к людям.
Ответить с цитированием
  #7 (permalink)  
Старый 31.08.2017, 15:35
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Сообщение от j0hnik
опечатки в названиях селекторов
Для этого использую отдельный объект с классами. А дальше тот же автоподбор в саблайме.
Ответить с цитированием
  #8 (permalink)  
Старый 01.09.2017, 14:36
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от MallSerg
доверие к людям
++
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #9 (permalink)  
Старый 04.09.2017, 10:40
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

div1.onclick = this.handler.bind(this);
div2.onclick = this.handler.bind(this, true);
	
...handler = function(isDiv2) {
	if(isDiv2) {
		...
	}
}


Всегда сработает условие isDiv2, потому что по дефолту в аргумент придёт объект Event. Поэтому нужно биндить false.
Ответить с цитированием
  #10 (permalink)  
Старый 28.10.2017, 22:28
Аватар для derevyanayapalochka
Интересующийся
Отправить личное сообщение для derevyanayapalochka Посмотреть профиль Найти все сообщения от derevyanayapalochka
 
Регистрация: 18.06.2017
Сообщений: 17

Как правило опечатки,либо скобки забудешь закрыть,да и при копировании кодов всякое бывает.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка кода на ошибки. pokk Общие вопросы Javascript 1 04.03.2016 11:07
Самые интересные или сложные ошибки. Железобетонный код. Gozar Оффтопик 2 05.07.2015 13:14
Ошибки верстки, едет верстка в IE9 Sanu0074 (X)HTML/CSS 3 01.04.2015 08:33
генерация и логирование ошибки Hapson Общие вопросы Javascript 31 03.04.2014 17:20
Ошибки при асинхронных AJAX запросах San4ezy Общие вопросы Javascript 4 27.03.2014 21:48