我正在更新由另一个开发人员创建的一些代码,并且注意到有很多,我可以最好地描述为函数内部的函数,并且整个对象都设置为一个变量。将javascript/jquery函数设置为变量..最佳实践?为什么?
例如:
var spellcheck = {
checkone: function() {
<....>
spellcheck.jspspellcheck.startSpellCheck("/SpellChecker/", $(e.target).parent().prev('input:enabled, textarea:enabled'));
},
jspspellcheck: {
<....>
startSpellCheck: function(baseUrl,elements){
<....>
spellcheck.jspspellcheck.openCenteredWindow();
}
}
}
显然上面的代码只是一个样本,但它确实illistrate如何了很多的jQuery的写入。
从点符号我看起来它是利用面向对象类型的做法,但其他函数内部的“函数”变得相当混乱(至少对我来说)。基本上,我应该尝试并将此代码重构为不同的命名函数,还是我错过了一些最佳实践?
是的,直到你习惯于看到它,这是令人困惑的。不,你不应该改变它。这些功能是他们出于某种原因所在的地方。例如,构建jQuery插件的“官方”方式(http://docs.jquery.com/Plugins/Authoring#Plugin_Methods)建议以这种方式构建一个函数对象。 – Blazemonger