2013-10-02 3 views
-3

Я работаю над формой, которая меняется на лету, и я пытаюсь понять ее лучше.Что означает этот код javascript?

, тем не менее, я наткнулся на это, и мне было интересно, что это означает, что любой пример будет оценен. Спасибо

onclick="if(this.onchange){this.onchange();}" 
+8

Когда вы нажимаете на вход, если на входе установлена ​​функция «onchange», выполняемая этой функцией. – jonhopkins

+1

Ответ jonhopkins верен. Из слегка уменьшенного представления, что это делает, это сделать этот ввод обработкой события 'click' как события' change'. –

+0

Спасибо за этот ответ, но как узнать, что такое функция onchange для этого входа, если он не задан во вводе. –

ответ

-1

Это способ проверить, если он объявлен

if (typeof this.onchange != "undefined"){ 
    this.onchange(); 
} 
2

Это проверка, чтобы увидеть, если this имеет функцию, определенную в onchange. В javascript вам не нужен if (this.onchange != null). Если значение равно null, undefined или имеет пустую строку, значение в выражении if возвращается false. Обычно это хорошая практика, чтобы избежать ошибок нулевой ссылки в javascript, когда вы не уверены, что каждый браузер будет поддерживать то, что вы пытаетесь использовать. (Или по другим причинам я сейчас не хватает)

Например, при добавлении строки для вывода на консоль в Google Chrome ...

console.log("output here");

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

if (console) { console.log("output here"); }

0

Проще говоря,

«Если этот элемент функции, связанный с его onchange слушателя событий, выполнить его.».

Смежные вопросы