我定义在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