В вашем коде вы пишете
if(typeof el == "undefined")
this.el = $(this);
Мне кажется, что
if(typeof el == "undefined") {
this.el = $(this);
}
будет лучше читать (если это то, что вы хотите, и вы не забыли что-то еще). Если впоследствии вы решите использовать некоторые инструменты минимизации для своего кода JavaScript, использование '{' и '}' может быть очень важно для получения всегда правильного рабочего кода.
Написание точек с запятой в конце операторов - это хороший стиль в JavaScript, так почему бы не следовать рекомендации и не ставить после следующего оператора?
return this.each(function(){
// ...
})
Более того, я считаю полезным следовать советам о глобальных переменных $max
, $num
, $temp
внутри функции randomPassword
и добавлять var
объявлений
var $max = chars.length-1;
var $num = Math.floor(Math.random()*$max);
var $temp = chars.substr($num, 1);
То же самое имеет смысл и для v
и el
внутри функции $.fn.passwordstrength
. Если вы будете использовать
var v = $(this)
или
$(this)
(потому что вы не используете v
в своем коде. Возможно, вы захотите использовать this.v
, но вы должны знать это лучше меня) вместо
v = $(this)
и
if(typeof this.el == "undefined") {
this.el = $(this);
}
вместо
if(typeof el == "undefined") {
this.el = $(this);
}
ваша программа будет работать немного быстрее и будет иметь меньше потенциальных конфликтов из-за использования тех же глобальных переменных.
Удаление неиспользуемой функции randomPassword
также может быть хорошей идеей.
Лично я нахожу JSLint очень хорошим, потому что он помогает находить небольшие ошибки, которые трудно найти вручную.