JS的参数传入例题,求解

function fn(){
var max=12;

return function bn(x){
if(x>max){
//do sth.
}
}
}

var f1 = new fn();
f1(13);
//请问这个13是怎么传入bn的?为什么fn没有形参就可以传入值?请问我是哪里不懂?

没有形参就是可以传入值
function a() {
console.log('a');
}
a(13);
js很随便的,只有你想不到,没有js随便不到的。
不过上面的代码,第一个函数返回的是带参数的函数bn。后面调用的也就是bn,所以你说的问题不存在。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-21
f1调用的fn(),这时就可以把f1理解成fn()所包含的整个函数体,然后向f1里面传参,就等于往fn里面传参,其实fn只是一个函数,f1调用它,相当于继承了fn的使命,所以最终看起来像是fn调用的13,其实是f1.

打个比方,爸爸fn会js(传13),儿子f1不会,爸爸教儿子js(传13),儿子会了就直接传13咯本回答被提问者采纳