Documentation
dojo.exists¶
since: | V0.9 |
---|
Contents
Check if all objects in a dot-separated string object path exist, such as "A.B.C".
Introduction¶
dojo.exists is a convenience function, particularly useful for testing long object paths. It accepts a string as its first parameter, and walks down the path it represents. You can optionally provide a root for the path as a second parameter, otherwise it will use a default value of the global object. Each portion of the ‘.’ delimited string is tested for defined-ness, returning true only if each object exists as defined in the strong.
Usage¶
dojo.exists accepts a string as its first parameter, and the root object as its second parameter, and returns true/false.
// Dojo 1.7+ (AMD)
require(["dojo/_base/lang"], function(lang){
if( lang.exists("myns.widget.Foo") ){
console.log("myns.widget.Foo exists");
}
});
// Dojo < 1.7
if( dojo.exists("myns.widget.Foo") ){
console.log("myns.widget.Foo exists");
}
The second root parameter is optional, dojo.exists will use the value of dojo.global by default (which is usually the current window). You can use it to root the path in a different window object, or a particular namespace:
// Dojo 1.7+ (AMD)
require(["dojo/_base/lang", "dijit/dijit"], function(lang, dijit){
var widgetType = "form.Button";
var myNamespace = docs;
if( lang.exists(widgetType, myNamespace) ){
console.log( "There's a docs.form.Button available");
}else if( lang.exists(widgetType, dijit) ){
console.log( "Dijits form.Button class is available");
}else{
console.log( "No form.Button classes are available");
}
});
// Dojo < 1.7
var widgetType = "form.Button";
var myNamespace = docs;
if( dojo.exists(widgetType, myNamespace) ){
console.log( "There's a docs.form.Button available");
}else if( dojo.exists(widgetType, dijit) ){
console.log( "Dijits form.Button class is available");
}else{
console.log( "No form.Button classes are available");
}