ES5-bind()、call()和apply()的区别

区别bind()与call()和apply()?
    * 都能指定函数中的this
    * call()/apply()是立即调用函数
    * bind()返回函数
  
                                            var obj = {}
                                            function foo(num1, num2) {
                                                                console.log(num1, num2)
                                                                console.log(this)
                                            }
                                            //   foo(1, 2)     //this指window
                                            //   foo.call(obj, 3, 4)   或Person.call(this,name,age)    //让任意函数成为任意对象的方法
                                            //   foo.apply(obj, [5 ,6])
                                            //   foo.bind(obj, 7, 8)()


                                            //   obj.fn.call(obj2)


                          setTimeout(function () {
                                                console.log(this)
                        }.bind(obj), 1000)
      

猜你喜欢

转载自blog.csdn.net/qq_21747731/article/details/80663669