如何检查一个对象是否有函数? (道场)
var testObj = this.getView();
如果在实际尝试调用callableFunction()
之前,如果testObj具有callableFunction
,那么如何才能使用DoJo(或者只是本地JS)进行检查,如果不存在,就会失败? 我更喜欢本地DoJo解决scheme,因为我需要这个在所有浏览器上工作。
你可以这样调用它:
testObj.callableFunction && testObj.callableFunction();
或详细说明:
if (typeof testObj.callableFunction == 'function') { testObj.callableFunction(); }
dojo有一个你可以用来执行testing的function。
require(["dojo/_base/lang"], function(lang){ var testObj = this.getView(); if(lang.isFunction(testObj.callableFunction)){ testObj.callableFunction(); } });
您应该testing该属性是否存在,并且是一个函数:
var returnFromCallable = typeof testObj.callableFunction === 'function' && testObj.callableFunction();