我已经查看过许多插件的代码(用于教育目的),基本上每个插件(处理原型)都有这样的功能:
myMarker.prototype.getPosition = function() {
return this.latlng;
};
//OR
myMarker.prototype.getObject = function() {
return this;
};这背后的原因是什么?
为什么不直接使用someObject.latlng而不是someObject.getPosition()
发布于 2016-02-01 06:01:47
发布于 2016-02-01 05:58:56
你这么说的时候。
myMarker.prototype.getPosition = function() {
return this.latlng;
};您正在定义函数getPosition,该函数对类myMarker的所有实例都可用。
因此,该类的所有对象都共享此方法而不进行复制。
对someObject.latlng来说,没有什么问题。但是假设当前scope.So中的所有对象都可以访问该对象,任何人都可以修改/访问它。
当您浏览prototype时,您正在尝试定义某种模式,这就限制了对属性的访问和修改。
https://stackoverflow.com/questions/35123707
复制相似问题