Я играю с JS.Class v.3.0 http://jsclass.jcoglan.com/, и я хотел бы найти способ обнаружить экземпляр объекта.
var Car = new JS.Class({
hColors : new JS.Hash([]),
initialize : function() {
this.hColors.store( "1", "red " ),
this.hColors.store( "2", "green " ),
this.hColors.store( "3", "blue " )
},
getColors : function( colorId, returnHash ) {
if ( this.hColors.get( colorId ) )
{
var currentObjects = this.hColors.get( colorId );
if ( returnHash )
{
return new JS.Hash([
colorId, currentObjects
]);
}
return currentObjects;
}
return this.hColors;
}
});
var F150 = new Car();
var F150Colors = F150.getColors(); //Hash:{1=>red ,2=>green ,3=>blue }
//var F150Colors = F150.getColors( "2", false ); //String:green
//var F150Colors = F150.getColors( "2", true ); //Hash:{2=>green }
//How do I test if F1250 is an instance of JS.Hash?
Как вы можете видеть,getColors
метод может принимать два аргумента, которые будут либо возвращать весь хеш, либо выбранный хеш, содержащий 1 значение, либо просто выбранное значение.
Вопрос: Как я могу проверить, является ли F150Colors
экземпляромJS.Hash
?
Решение: typeof F150Colors == "string"
недостаточно, потому что в конечном итоге моя hColors
будет содержать объекты ({}
).И все будет typeof F150Colors == "object"
Спасибо!