我定義在JavaScript類如無法訪問成員的JavaScript
Class = (function() {
var privateFunction = function() { return "private"; }
return { publicFunction: function() { return privateFunction("public"); } };
)();
在這裏用戶可以訪問Class.publicFunction,但不Class.privateFunction。
現在我想爲用戶提供一個接口來擴展這個類。所以我添加了一個公共函數擴展。
Class = (function() {
var privateFunction = function() { return "private"; }
return {
publicFunction: function() { return privateFunction("public"); }
extend: function(source) {
dest=this;
for(var prop in source)dest[prop] = source[prop]
}
};
)();
我的目標是如下
Class.extend({
someFunc: function() { return privateFunction("hooray"); }
});
和訪問它作爲
Class.someFunc()
我所面臨的問題是在調用privateFunction()使用擴展屬性擴展功能someFunc不適用於它。我可以理解這是問題的範圍,但是,無論如何要解決我的需要。
感謝您想法 我用它作爲 '爲(在源VAR丙)DEST [丙] = EVAL( 「溫度=」 +字符串(源[丙]));' – 2011-06-08 15:58:42
將這個給任何問題任何地方。我正在研究Linux。這將是一個在Windows IE中的問題? – 2011-06-08 15:59:38