javascript - Bagaimana untuk menggunakan fungsi panggilan dalam js?
我想大声告诉你
我想大声告诉你 2017-07-05 10:54:45
0
2
886
var currying = function(fun) {
      //底下这句代码是什么意思?
    var args = Array.prototype.slice.call(arguments, 1);
      return function() {
         //底下这句代码也不怎么清楚
          var _args = args.concat(Array.prototype.slice.call(arguments));
          return fun.apply(null, _args);
      };
}

Bolehkah anda terangkan apakah maksud kod fungsi ini? Saya mencuba kaedah panggilan dan kaedah hirisan Baidu, tetapi saya tidak dapat memahaminya apabila ia digabungkan dan objek hujah bagi fungsi itu telah ditambahkan, jadi saya tidak memahami beberapa konsep dengan baik

我想大声告诉你
我想大声告诉你

membalas semua(2)
迷茫
简单的例子
     var aa=[1,2,3],bb={0:1,1:2,2:3,length:3};
     aa.slice(1)//[2,3],此时的slice上的this就是指的aa的
     //bb是对象没有slice方法,又想得到[2,3]该怎么办?
     aa.slice.call(bb,1)//[2,3]
    
     
     
过去多啦不再A梦

Lupakan Baidu, cuma pergi ke mdn https://developer.mozilla.org...

var args = Array.prototype.slice.call(arguments, 1);

argumen ialah objek seperti tatasusunan, bukan tatasusunan, dan tidak semestinya mempunyai kaedah hirisan tatasusunan, jadi kaedah panggilan digunakan untuk membolehkan objek argumen memanggil kaedah hirisan seperti tatasusunan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan