在原生JS中函数既可以当作参数来传递,也可以当作返回值来使用;
下面是我初学js时为了更好理解这个概念写的一个小片段;
备注:放在代码段里是为了方便测试和学习
//函数当做参数传递
function say(msg) {
alert(msg);
}
function person(fun,str) {
return fun(str);
}
person(say,'hello');
//函数当做返回值
function Person() {
return function test() {
return {
name:'joy'
}
}
}
var val = Person()();
console.log(val);