簡體   English   中英

當數組作為參數傳遞時,函數調用不顯示未定義的值

[英]Function call not displaying undefined value when an array is passed as param

我在 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什么區別?

c 從未被聲明

 function addArray(a=[101],c) { document.write('A: ' + a[0] + '<br>'); document.write('B: ' + a + '<br>'); document.write('C: ' + c + '<br>'); } addArray([110,120]);

 The difference between a[0] and a is that a[0] is displaying the first index value of an 
 array and a is displaying all the values of the array.

 Imagine A=[100,200]
 document.write('A: ' + a[0] + '<br>');
 Would write 100
 document.write('A: ' + a + '<br>');
 Would write 100,200

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM