Javascript 为什么自定义传单控件添加为大写和小写?
我正在查看扩展传单文档,以便添加 它包含以下代码段,作为添加简单水印控件的示例:Javascript 为什么自定义传单控件添加为大写和小写?,javascript,leaflet,Javascript,Leaflet,我正在查看扩展传单文档,以便添加 它包含以下代码段,作为添加简单水印控件的示例: L.Control.Watermark = L.Control.extend({ onAdd: function(map) { var img = L.DomUtil.create('img'); img.src = '../../docs/images/logo.png'; img.style.width = '200px'; retur
L.Control.Watermark = L.Control.extend({
onAdd: function(map) {
var img = L.DomUtil.create('img');
img.src = '../../docs/images/logo.png';
img.style.width = '200px';
return img;
},
onRemove: function(map) {
// Nothing to do here
}
});
L.control.watermark = function(opts) {
return new L.Control.Watermark(opts);
}
L.control.watermark({ position: 'bottomleft' }).addTo(map);
为什么控件同时分配给大写(
L.control.Watermark
)和小写L.control.Watermark
变量?这是扩展JavaScript库时的常见约定吗 如果您查看名为的教程,您将看到名为:
大多数传单类都有相应的工厂函数。工厂函数与类具有相同的名称,但使用小写而不是大写
基本上,lowerCamelCase函数是实例化相应类的方便方法。你会发现很多关于为什么使用工厂函数而不是构造函数的文章,看起来相当全面不幸的是,JavaScript中没有真正的约定 大多数OOP语言都有使用大写字母(PascalCase)的约定类 factory模式主要避免您使用
new
关键字。为了区分两者,在小叶中前者使用PascalCase,后者使用小写
但是你会发现很多其他的JS库在它们的工厂中使用PascalCase(大多数时候它们在API中没有提供等价的类)
要了解更多关于为传单选择的公约的信息,您可以看一看(这远不是一个明确的决定)