//自执行函数 (function() { console.log(33333333) })() //改变函数this指向方法call bind apply call和apply不同在于传的参数不一样 apply参数是数组 bind不会执行函数,但会返回一个新的函数 var obj = { name: "fun_this" } function fun(a, b) { console.log(this) // console.log(a + b) //4 } fun.call(obj, 1, 3) // {name: "fun_this"} 4 fun.apply(obj, [1, 5])// {name: "fun_this"} 6 var max = Math.max.apply(Math, [1, 2, 3, 4, 52, 34]) console.log(max) //34 var newFun = fun.bind(obj, 5, 6) newFun()//// {name: "fun_this"} 11