一个 js 函数表达式 问题

Demo1: 结果是1

    (function foo(foo) {
        console.log(foo);
    })(1);

Demo2: 结果是function

    (function foo(a) {
    console.log(foo);
    })(1);

我想知道,是因为函数 参数 的优先级 比 函数表达式名 的优先级优先级高吗?


杨魅力
浏览 527回答 1
1回答

精慕HU

你不是传了1进去了吗?肯定是1了呀。首先,你这个(function foo(foo) {         console.log(foo);     })(1);()();前面一个括号里是一个函数,前面括号里的表示就是一个整体了,然后后面括号是不是相当于你调用函数的时候fun(1)这样子?对吧,你这里传了参数1个匿名函数,自然就是1了啊!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript