【发布时间】:2013-02-04 09:27:32
【问题描述】:
var testObj = this.getView();
在我实际尝试调用 callableFunction() 之前,如果 testObj 有 callableFunction 并且如果它不存在则失败,我该如何检查 DoJo(或只是原生 JS)?我更喜欢原生 DoJo 解决方案,因为我需要它在所有浏览器上工作。
【问题讨论】:
标签: javascript dojo
var testObj = this.getView();
在我实际尝试调用 callableFunction() 之前,如果 testObj 有 callableFunction 并且如果它不存在则失败,我该如何检查 DoJo(或只是原生 JS)?我更喜欢原生 DoJo 解决方案,因为我需要它在所有浏览器上工作。
【问题讨论】:
标签: javascript dojo
你可以这样称呼它:
testObj.callableFunction && testObj.callableFunction();
或详细说明:
if (typeof testObj.callableFunction == 'function') {
testObj.callableFunction();
}
【讨论】:
dojo 有一个可以用来执行测试的函数。
require(["dojo/_base/lang"], function(lang){
var testObj = this.getView();
if(lang.isFunction(testObj.callableFunction)){
testObj.callableFunction();
}
});
【讨论】:
您应该测试该属性是否存在并且是一个函数:
var returnFromCallable = typeof testObj.callableFunction === 'function' &&
testObj.callableFunction();
【讨论】: