во первых сделай то же самое алертом
alert( obj.options.some_option )
во вторых для наследования используй общеизвестную функцию Class, и с ней твой код будет выглядить так
п.с. в
this.__construct__ описывается конструктор
// родитель
var Foo = new Class( function () {
this.__construct__ = function ( options ) {
this.options = jQuery.extend( true, this.defaultOptions, options );
};
this.defaultOptions = {
some_option:'foo_defoult'
};
} );
// наследник ( в настеднике пишем только различия от родителя, либо добавляем что-то новое )
var Bar = new Class( Foo, function () {
this.defaultOptions = {
some_option:'bar_defoult'
};
} );
и собственно сама функция
function Class( a, b ) {
var description = b || a,
superClass = b ? a : null,
overname = Class.overname || 'super',
Constructor = (description.name)
? eval( "(function " + description.name +
"(){ if ( this.__construct__ ) return this.__construct__.apply( this, arguments )})" )
: function () {
if ( this.__construct__ ) return this.__construct__.apply( this, arguments )
},
Object = function Object() {
};
Object.prototype = superClass ? superClass.prototype : Class.prototype;
description.prototype = new Object;
Constructor.prototype = new description( Constructor, description.prototype );
var obj = Constructor.prototype;
for ( var key in obj ) {
if ( obj.hasOwnProperty( key ) && obj[key] instanceof Function ) {
var parentProperty = description.prototype[key];
if ( parentProperty )
(function ( originalMethod, parentMethod, key ) {
obj[key] = function () {
var bk = this[overname];
this[overname] = parentMethod;
var returns = originalMethod.apply( this, arguments );
if ( bk ) this[overname] = bk;
else delete this[overname];
return returns;
}
})( obj[key], parentProperty, key )
}
}
Constructor.create = function ( args ) {
function Object() {
if ( this.__construct__ ) return this.__construct__.apply( this, args )
}
Object.prototype = Constructor.prototype;
return new Object
};
return Constructor;
}
Где то был топик рассказывающий как её использовать, поищу, если не найду новый напишу.