请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于arguments 怎么获取

老师关于怎么传参的问题
图片描述
看了之前的提问
图片描述
看完后还是不知道怎么传,下面这样写也不对

    const input1 = document.getElementById('input1')
        function debounce(fn, delay) {
            let timer = null // timer是闭包中的
            return function () {
                if (timer) {
                    clearTimeout(timer)
                }
                timer = setTimeout(() => {
                    console.log(arguments)
                    fn.apply(this, arguments) // 面试的时候直接写 fn()也行了
                    // fn()
                    timer = null
                }, delay)
            }
        }

         function fn (a,b,c) {
            console.log(arguments)
         }
         const fn1 = debounce(fn, 600)
        input1.addEventListener('keyup', fn1(10, 20, 30))

正确该怎么写呢

正在回答 回答被采纳积分+3

2回答

笑着拍拍你的头 2022-09-05 12:01:03

语法错了fn1(10, 20, 30)是立刻执行,正确的写法:

return function (number, number1, number2) {
    // xxx
}

function fn (a,b,c) {
   console.log(a,b,c)
}
let fn1 = debounce(fn, 600)
input1.addEventListener('keyup', function (e) {
   fn1(1,2,3)
})


1 回复 有任何疑惑可以回复我~
双越 2022-01-16 08:54:57

改成 fn.apply(this, Array.from(arguments)) 试试

0 回复 有任何疑惑可以回复我~
  • 老师,我试过了好像还是不行诶。。我在网上查了下也没找到关于这个传参数的例子
    回复 有任何疑惑可以回复我~ 2022-05-24 00:25:26
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号