Lon*_*Dev 3 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';
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);
Run Code Online (Sandbox Code Playgroud)
为什么将控件同时分配给大写(L.Control.Watermark)和小写L.control.watermark变量?扩展JavaScript库时,这是通用约定吗?
不幸的是,JavaScript 中没有真正的约定。
大多数 OOP 语言都具有使用 UpperCamelCase (PascalCase) 约定的类。
工厂模式主要是让你不用使用new关键字。为了区分两者,在 Leaflet 中,前者使用 PascalCase,后者使用小驼峰命名法。
但是您会发现许多其他 JS 库在其工厂中使用 PascalCase(尽管大多数时候它们在 API 中不提供等效的类)。
要更多地了解为 Leaflet 选择的约定,您可以查看Leaflet/Leaflet #1430(它远非明确)。
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |