有人可以告诉我如何在这个示例代码中为来自dustin Diaz的简单动画库实现公共和私有方法。私人方法与公众方法有何区别?
答案 0 :(得分:3)
不是;除了范围之外,Javascript中没有可见性。示例中的那些规范仅基于方法术语和目的。
答案 1 :(得分:3)
简而言之:
摘要
私有变量在对象内使用var
关键字声明,并且只能由私有函数和特权方法访问。
私有函数在对象的构造函数内部声明为内联(或者可以通过var functionName=function(){...}
定义),并且只能由特权方法(包括对象的构造函数)调用。
特权方法使用this.methodName=function(){...}
声明,并且可以由对象外部的代码调用。
公共属性使用this.variableName
声明,可以从对象外部读取/写入。
公共方法由Classname.prototype.methodName = function(){...}
定义,可以从对象外部调用。
prototype
属性由Classname.prototype.propertyName = someValue
静态属性由Classname.propertyName = someValue
你可以在这里阅读一篇优秀的文章:
答案 2 :(得分:3)
按照惯例,这只是隐私 - 他在方法名称之前加了一个下划线,这是他说“这种方法是私有的,不要称之为”的方式。