جافا سكريبت: الوصول إلى الحجج وظيفة بشكل عام
-
06-07-2019 - |
سؤال
وهنا هو ما قلته:
var log = function(arg1, arg2){
console.log("inside :" + arg1 + " / " + arg2);
};
var wrap = function(fn){
return function(args){
console.log("before :");
fn(args);
console.log("after :");
}
};
var fn = new wrap(log);
fn(1,2);
من الخطأ، لأنني ترغب في الحصول على وحدة التحكم:
before :
inside :1 / 2
after :
ولكن أحصل على هذا بدلا من ذلك:
before :
inside :1 / undefined
after :
وكيف يمكنني معرفة جافا سكريبت أن args
هو كل الحجج التي تم تمريرها إلى وظيفة إرجاعها بواسطة wrap
؟
المحلول
ويمكنك استخدام تطبيق لاستدعاء دالة مع المحدد 'هذا' وسيطة صفيف، وذلك في محاولة
var wrap = function(fn){
return function(){
console.log("before :");
fn.apply(this, arguments);
console.log("after :");
}
};
لا تنتمي إلى StackOverflow