不使用任何即将被弃用的行为,是否可以从函数中获取参数,函数本身是作为函数传递的? E.g。
function lowerOrder(x) {
console.log('lower order: ');
console.log(arguments);
}
function higherOrder(fx) {
console.log('higher order: ');
console.log(arguments);
};
higherOrder(lowerOrder); //in Chrome I can expand these results and see an arguments object (which is null)
VS。
function lowerOrder(x) {
console.log('lower order: ');
console.log(arguments);
}
function higherOrder(fx) {
console.log('higher order: ');
console.log(arguments);
};
higherOrder(lowerOrder(4)); //higher order function is undefined
//lower order correctly prints 4
如果将诸如lowerOrder(4)之类的函数传递给higherOrder,是否可以同时获取传递的函数的名称及其来自higherOrder的参数?
答案 0 :(得分:2)
不,原因很简单:在第二个代码中,您未将 lowerOrder
传递给higherOrder
。
相反,您传递的是lowerOrder
的返回值,这是undefined
,因为它没有return
语句。