猿问

js里面function参数

k = T.ajaxForm({

            dataType: "json",

            data: n(),

            timeout: 3e5,

            crossDomain: !0,

            xhrFields: {

                withCredentials: !0

            },

            beforeSubmit: function(e, t, n) {},

            uploadProgress: function(e, t, n, r) {

                p(".upload__percent").text(r + "%")

            },

            success: function(e, t) {

                l(e)

            },

这段代码里面有三个类似beforeSubmit: function(e, t, n) {},的json格式,我调试时候发现不同function里面的e的值是不一样,这是怎么做到的呢

js地址是
http://shared.ydstatic.com/fa...
网址是http://fanyi.youdao.com/

明月笑刀无情
浏览 429回答 6
6回答

慕妹3242003

就是函数呀,给它不同的值,当然不一样了

撒科打诨

钩子函数 在不同的时候调不同的方法 传不同的值啊 类似function test(obj){        if(obj.before){            obj.before({a:1});        }        setTimeout(obj.after || Function.prototype,1000,{c:2})    }    test({        before:function(obj){            console.log(obj);        },        after:function(obj){            console.log(obj);        }    })

慕姐4208626

这个。。函数参数你想起什么名字起什么名字,名字一样不代表值就一样,值只跟调用函数传入有关,参数名只是别名function test(a){console.log(a)}test(1);//1function test(b){console.log(b)}test(1);//1function test(a){console.log(a)}test(2);//2回调函数function test(options){  option.beofreSetTimeout(3,2,1);  setTimeout(function(){    option.callback(1,2,3)  },1000)}test({  beofreSetTimeout:function(e,b,r){    console.log(e,b,r);//3,2,1  },  callback:function(e,b,r){    console.log(e,b,r);//1,2,3  }})

紫衣仙女

方法里面定义的,可以看下源码里面是怎么定义的

慕运维8079593

这里的e是函数形参标识而已,当然会依据传入函数的实参变化而不同啊(调用时机可能不同)。这里之所以都用e作为形参标识,是因为对应的都是event形式的实参(猜测)而做的简化(毕竟这样的形参其实是对用户透明的)
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答