42
var testObj = this.getView();

callableFunction実際に電話をかけようとする前にtestObjが存在するかどうかをDoJo(またはネイティブJS)に確認するにはどうすればよいcallableFunction()ですか?存在しない場合は失敗しますか?すべてのブラウザで動作するためにこれが必要なので、ネイティブDoJoソリューションを好みます。

4

3 に答える 3

92

あなたはそれをこのように呼ぶことができます:

testObj.callableFunction && testObj.callableFunction();

または詳細:

if (typeof testObj.callableFunction == 'function') {
    testObj.callableFunction();
}
于 2013-02-19T16:06:14.153 に答える
4

dojoには、テストを実行するために使用できる機能があります。

require(["dojo/_base/lang"], function(lang){

  var testObj = this.getView();
  if(lang.isFunction(testObj.callableFunction)){
    testObj.callableFunction();
  }

});
于 2013-02-19T16:32:35.537 に答える
3

プロパティが存在し、関数であることをテストする必要があります。

var returnFromCallable = typeof testObj.callableFunction === 'function' &&
    testObj.callableFunction();
于 2013-02-19T16:09:30.630 に答える