これが私が使用している現在の方法で、すべてがすべて公開または非公開のいずれかです。ただし、静的とインスタンスを区別したいと思います。これをどのように追加しますか?
obj
クラスまたはオブジェクトを保持し、 config_module はこれがどのタイプのモジュールであるかを決定します。
すべてプライベート、すべてパブリック ( statics のコレクション)、またはコンストラクター メソッドに基づくインスタンス。
インスタンス ベースを使用する場合、静的とインスタンス ベースのプロパティをどのように区別すればよいですか?
$P.support = $P.parsel = function (obj, config_module) {
$R.Parsel[obj.Name] = obj;
// all properties are private
if (!config_module) {
return undefined;
}
// all properties are public
if (config_module === true) {
return obj;
}
// constructor based, all properties are public
if (config_module === 'constructor') {
var object_public;
if (obj.constructor) {
object_public = obj.constructor;
delete obj.constructor;
}
$A.someKey(obj, function (val, key) {
// like this ?
if (/^s_/.test(key)) {
object_public[key] = val;
// like this ?
} else if (/^p_/.test(key)) {
object_public.prototype[key] = val;
} else {
object_public.prototype[key] = val;
}
});
return object_public;
}
};