当数组作为参数传递时,函数调用不显示未定义的值

我在 JavaScript 中创建了以下函数,它按预期工作:


<script>

    function add(a, b, c) {

        document.write('A: ' + a + '<br>');

        document.write('B: ' + b + '<br>');

        document.write('C: ' + c + '<br>');

    }

add(10, 20);

</script>

输出:

A: 10

B: 20

C: undefined

但是,JavaScript 中的以下函数未按预期工作,其中未显示undefined值


<script>

    function addArray(a = [101]) {

        document.write('A: ' + a[0] + '<br>');

        document.write('B: ' + a + '<br>');

        document.write('C: ' + c + '<br>');

    }

    addArray([110]);

</script>

输出:

A: 110

B: 110

据我了解,输出应如下所示:


预期输出:

A: 110

B: 110

C: undefined

另外,上面的例子中a[0]和之间有什么区别?a


德玛西亚99
浏览 158回答 2
2回答

汪汪一只猫

&nbsp;The difference between a[0] and a is that a[0] is displaying the first index value of an&nbsp;&nbsp;array and a is displaying all the values of the array.&nbsp;Imagine A=[100,200]&nbsp;document.write('A: ' + a[0] + '<br>');&nbsp;Would write 100&nbsp;document.write('A: ' + a + '<br>');&nbsp;Would write 100,200

叮当猫咪

c 从未被声明&nbsp; &nbsp; function addArray(a=[101],c) {&nbsp; &nbsp; &nbsp; &nbsp; document.write('A: ' + a[0] + '<br>');&nbsp; &nbsp; &nbsp; &nbsp; document.write('B: ' + a + '<br>');&nbsp; &nbsp; &nbsp; &nbsp; document.write('C: ' + c + '<br>');&nbsp; &nbsp; }&nbsp; &nbsp; addArray([110,120]);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript