如何在这里实现隐私?

时间:2010-10-29 19:50:33

标签: javascript

有人可以告诉我如何在这个示例代码中为来自dustin Diaz的简单动画库实现公共和私有方法。私人方法与公众方法有何区别?

http://www.dustindiaz.com/javascript-animate/

3 个答案:

答案 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

  • 定义

你可以在这里阅读一篇优秀的文章:

http://javascript.crockford.com/private.html

答案 2 :(得分:3)

按照惯例,这只是隐私 - 他在方法名称之前加了一个下划线,这是他说“这种方法是私有的,不要称之为”的方式。