有人能告訴我公共和私人方法如何在dustin diaz的簡單動畫庫的示例代碼中實現。私人方法與公共方法有何區別?這裏的隱私是如何實現的?
http://www.dustindiaz.com/javascript-animate/
有人能告訴我公共和私人方法如何在dustin diaz的簡單動畫庫的示例代碼中實現。私人方法與公共方法有何區別?這裏的隱私是如何實現的?
http://www.dustindiaz.com/javascript-animate/
這只是私隱大會 - 他提出了一個不足之處e在方法名稱之前,這是他說「這種方法是私人的,不要稱之爲」的方式。
它不是;除了範圍之外,Javascript中沒有可見性。示例中的這些規範僅基於方法術語和用途。
簡而言之:
摘要
私有變量的聲明與對象內部的var
關鍵字,並且只能通過私有函數和特權的方法來訪問。
私有函數在對象的構造函數內部聲明(或者可以通過var functionName=function(){...}
定義),並且只能由特權方法(包括對象的構造函數)調用。
特權方法聲明爲this.methodName=function(){...}
並可能由對象外部的代碼調用。
公共屬性聲明爲this.variableName
並且可以從對象之外讀取/寫入。
公共方法由Classname.prototype.methodName = function(){...}
定義,可以從對象外部調用。
prototype
屬性由
靜態屬性定義由Classname.propertyName = someValue
定義你可以在這裏閱讀的優秀文章:
這就是如何實現隱私,但它並沒有解釋這裏發生了什麼。 – Skilldrick 2010-10-29 19:53:43
你能編輯一下嗎,這樣我就可以閱讀整篇文章並提供引用了嗎? – 2010-10-29 20:00:30
對。我認爲可能是這樣,因爲我看不出任何可能存在隱私的方式。只是想讓我確定我沒有失蹤 – 2010-10-29 19:55:23