0

オブジェクトを直接受け取る JavaScript 関数が数多くあります。ここにいくつかの例を示します。これは、これらの関数 jquery$.ajax()または nodejs モジュールのいずれかに固有のものではありませんrequest()。どちらも単なる例です。

$.ajax({
  method: "post",
  data: {'hello':'world'},
})

request({
  method : "post",
  body : "hello world",
});

うまくいくと思ったものを試してみたところ、これのより精巧なバージョンでした。

request({
  method : function(){
    return "post";
  },
  data: {'hello':'world'},
});

驚いたことに、うまくいきませんでした。これもそうではありません。

var m = function(){
  return "post";
};

request({
  method : m,
  data: {'hello':'world'},
});

何か不足していますか?生成された関数をこれらのオブジェクトに入れる方法はありますか? フィードバックをいただければ幸いです。

4

3 に答える 3

3

関数自体ではなく、関数を実行して戻り値を使用する必要があります。

var m = function(){
  return "post";
};

var data = function() {
  return {'hello':'world'};
}

request({
  method : m(),
  data: data()
});
于 2012-08-23T02:34:42.557 に答える
3

ここで関数を渡すのではなく、その戻り値を渡します。

request({
  method: (function() {
    return "post";
  })(),
  data: {'hello':'world'}
});
于 2012-08-23T02:34:13.750 に答える
0

以下のように、ドキュメントが読み込まれたときに関数を実行します。これにより、m = 'post' になります。

var m = (function(){
  return "post";
})();

request({
  method : m,
  data: {'hello':'world'},
});
于 2012-08-23T02:59:40.727 に答える