var f = function () {console.log(1);}f()//1f(f(x))//打印两次1括号内的f(x)不是外层的f(x)的参数么,这里的参数不影响函数内部,为什么会连续打印两次,也就是f()执行了两次
1 回答
已采纳
习惯受伤
TA贡献885条经验 获得超1144个赞
因为JS是动态语言,并不会像C/C++/C#/JAVA这些语言一样检查参数类型是否一致,在执行时才会传入并使用。
虽然你传入的参数并没有使用,但是在执行的时候分析语句,会分析成:
var temp = f(x); //temp = undefined f(temp);
这两条语句,所以都执行了,执行两次。
添加回答
举报
0/150
提交
取消