При чтении кодов javascript я видел !
Оператор, используемый для небулевых переменных. Вот пример кода, не использованного в.
/**
* loads a resource from a url
* @param {string} url the url of the resource to load
* @param {string} relativeTo the url to load relative to
* @param {function} callback thefunction to call once the file is loaded
* @private
*/
GLGE.Wavefront.prototype.loadFile=function(url,relativeTo,callback){
if(this.relativeTo && !relativeTo) relativeTo=this.relativeTo; //<-- used on a string?
else this.relativeTo=url;
if(!callback) callback=this.loaded; //<-- used on a function?
var req = new XMLHttpRequest();
if(req) {
// request handling code
}
};
req.open("GET", url, true);
req.send("");
}
}
В этой библиотеке я видел много случаев использования этого оператора таким образом.
Может ли кто-нибудь объяснить, как / если функция «не» строки, объекта или функции может быть определена, если она не является одной половиной логического набора, такого как набор; истина
и ложь
?