返回不起作用

Edw*_*mas -5 javascript

function trycatch(myfunction, name) {
  return function() {
    try {
      myfunction.apply(this, arguments);
    } catch (e) {
      console.log(e + name);
    }
  }
};
var rambo = {
  create: function(i, j) {
    return i
  },
  ramv: function() {
    aler("")
  }
};
for (var key in rambo) {
  if (typeof rambo[key] === 'function') {
    rambo[key] = trycatch(rambo[key], key);
  }
}

console.log(rambo.create(1))
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

我试图将try catch应用到我的所有函数中,但似乎它们没有返回值,我错过了什么?

Que*_*tin 5

您返回的函数trycatch没有return语句,因此它将始终返回undefined.

您需要将通话的返回值返回apply.