Demo1: 结果是1
(function foo(foo) {
console.log(foo);
})(1);
Demo2: 结果是function
(function foo(a) {
console.log(foo);
})(1);
我想知道,是因为函数 参数 的优先级 比 函数表达式名 的优先级优先级高吗?
Demo1: 结果是1
(function foo(foo) {
console.log(foo);
})(1);
Demo2: 结果是function
(function foo(a) {
console.log(foo);
})(1);
我想知道,是因为函数 参数 的优先级 比 函数表达式名 的优先级优先级高吗?
这是一个匿名自执行函数
(function foo(foo) {
var foo = foo = 1;
console.log(foo);
})(1);
这样看
这问题需要你了解js的作用域,js的变量是向上查询 就近原则
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
你不是传了1进去了吗?肯定是1了呀。首先,你这个
()();前面一个括号里是一个函数,前面括号里的表示就是一个整体了,然后后面括号是不是相当于你调用函数的时候fun(1)这样子?对吧,你这里传了参数1个匿名函数,自然就是1了啊!