[英]Why am I getting NaN when adding all arguments?
我正在嘗試創建一個將所有參數加在一起的函數。 我不斷收到NaN
。 我究竟做錯了什么?
function sum() {
var n = arguments.length;
var total = 0;
for(var i = 0; i < n; i++) {
// code here
total += n[i];
}
return total;
}
sum(1,2,3,4);
什么是n[i];
? 由於n
僅應包含參數array
長度,因此它本身不是array
。
您需要替換total += n[i];
total += arguments[i];
javaScript的經典缺點之一是NaN(不是數字)的基本原理。
NaN(不等於任何值)->發生i)未定義或錯誤操作的結果
ii)有毒:任何以Nan為輸入的算術運算都將得到NaN。
因此,在您的代碼中:undefined(n [i])+ number = NaN
<script>
function sum() {
var n = arguments.length;
var total = 0;
for (var i = 0; i < n; i++) {
// code here
total += arguments[i];
}
return total;//returns 10
}
sum(1, 2, 3, 4);
希望這有助於/達到目的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.