js函数对象和回调

2020-11-01  本文已影响0人  小吉头

函数对象和实例对象

函数对象:将函数作为对象使用时,简称函数对象
实例对象:new函数产生的对象,简单对象

()的左边是函数
. 的左边是对象

    <script>
        function Fn(){ //Fn是函数

        }
        const fn = new Fn() //此时Fn是构造函数,fn是示例对象(简称为对象)
        console.log(Fn.prototype) //Fn是函数对象
        Fn.call({}) //Fn是函数对象
        $('#test') //jQuery函数
        $.get('/test') //jQuery函数对象
    </script>

两种类型的回调函数

什么是回调函数

1、函数是自己定义的
2、自己不会主动调用该函数,但最终会执行

1、同步回调

回调函数不会放到队列

    <script>
        const arr = [1,2,3]
        arr.forEach(item => {
            console.log(item)
        })
        console.log('forEach()之后')
    </script>

>>>1
>>>2
>>>3
>>>forEach()之后

2、异步回调

回调函数放到队列,将来执行

    <script>
        setTimeout(() => {
            console.log('callback')
        },0)
        console.log('setTimeout()之后')
    </script>

>>>setTimeout()之后
>>>callback

怎么判断同步回调还是异步回调函数?
如上面示例,在启动了回调函数后面console.log(xxx)
启动回调函数->回调函数执行完成->console.log(xxx) 说明是同步回调
启动回调函数->console.log(xxx)->回调函数执行完成 说明是异步回调,先启动了回调函数,不会立刻执行,启动不代表立刻执行

上一篇下一篇

猜你喜欢

热点阅读