Function对象call,apply,bind
1,apply()方法调用一个函数,其中有一个指定的this值,以及作为一个数组(或类似数组的对象)提供的参数。
Function.apply(obj,args)方法能接收两个参数。
**call和apply的区别
call是单个的参数传入,apply是以数组的形式传入。
var arr=Array.prototype.slice.apply(arguements)//arguements就是一个类数组
bind :类似与call 但是与其不同的是,call调用之后可以立即执行,但是bind需要用一个变量进行接受之后再执行
比如
var val= stu1.say.bind 这样
function对象call、apply、bind
Function.apply ( obj, args )//args为数组
Function.call ( obj, args )//args为单个参数
一、apply方法
apply()方法调用一个函数,其具有一个指定的this值,以及作为一个数组(或类数组对象)提供的参数。
apply方法能劫持另一个对象的方法,继承另外一个对象的属性
function.apply(obj, args)方法能接受两个参数
obj:这个对象将代替function类里this对象
args:这个是数组,他将作为参数传给funcrion(args--->arguments)
二、call方法
call方法与apply作用相同,唯一区别是第二个args参数
call:单个参数传入,apply:以数组形式传入

三、bind方法
bind:类似于call 但是与其不用的是call调用之后可以立即执行,但是bind需要用一个变量进行接收之后再执行。
Function对象上的方法:call、apply、bind
类数组不具备数组的方法
因此,可以进行类数组转数组
var arr=Array.prototype.slice.apply(arguments)
apply和call方法,能劫持另外一个对象的方法,继承另外一个对象的属性

apply方法
call apply bind


类数组转数组 slice function
var arr =Array.prototype.slice.apply(arguments) // arguments
bind : 类似call 但是与其不同的是call调用之后可以立即执行,但是bind需要用一个变量进行接收之后再执行