3
我看在http://docs.jquery.com/Plugins/Authoring插件创作的文章,看到在默认设置和选项部分这个例子:jQuery插件选项:在this.each块之前还是之内扩展?
$.fn.tooltip = function(options) {
var settings = {
'location' : 'top',
'background-color' : 'blue'
};
return this.each(function() {
// If options exist, lets merge them
// with our default settings
if (options) {
$.extend(settings, options);
}
我不完全理解为什么.extend调用是this.each块里面?我的第一直觉是将其写成:
$.fn.tooltip = function(options) {
var settings = {
'location' : 'top',
'background-color' : 'blue'
};
$.extend(settings, options || {});
return this.each(function() {
所以我感动的回报高于.extend通话(如果有|| {}取代了丑 - 我认为这是有道理的?)。
有什么我在这里没有看到?任何奇怪的关闭相关的东西也许?如下所示:仅在该调用中全局修改设置? (编辑:显然我不是 - http://jsfiddle.net/fVSDH/)
http://www.learningjquery.com/2007/10/a-plugin-development-pattern – Sarfraz 2010-10-28 19:18:11