函数传参

来源:互联网 发布:mac安装win7无法启动 编辑:程序博客网 时间:2024/06/05 11:18

这里写图片描述

function argsAsArray(fn, arr) {    /* 调用函数可以使用call或者apply这两个方法,    区别在于call需要将传递给函数的参数明确写出来,是多少参数就需要写多少参数。    而apply则将传递给函数的参数放入一个数组中,传入参数数组即可。    调用函数有3种方式:    obj.func();    func.call(obj,args);//参数列出    func.apply(obj,[m,n......]);//参数数组*/    return fn.apply(this,arr);}

这里写图片描述

function speak(fn, obj) {    //fn里是调用this,直接把obj传给fn即可,三种方案    //apply    return fn.apply(obj);    //call    //return fn.call(obj);    //bind     //bind与call/apply的区别就在于,bind不会立即执行    //return fn.bind(obj)();}