7 回答

TA貢獻(xiàn)101條經(jīng)驗(yàn) 獲得超107個贊
NaN意為Not a Number。
我覺得你是不是認(rèn)為:var?sum,mymoney?=0;這句是給sum和mymoney都賦值為0了,其實(shí)只是賦給了mymoney,sum的值為undefined。
如果調(diào)換位置,那么就是這樣:
<script?type="text/JavaScript"> var?mymoney,sum?=0;????//代碼中的mymoney只是聲明而未初始化,其值為undefined,而sum=0 for(sum=1;sum<=?10;sum++) {? ??mymoney=?mymoney?+?sum;??//這里,mymoney未初始化,用undefined?+?sum,可想而知momoney的值為NaN } ??document.write("sum合計(jì):"+mymoney); </script>

TA貢獻(xiàn)75條經(jīng)驗(yàn) 獲得超180個贊
調(diào)換位置之后,mymoney就是undefined了,如下:
var?sum,?mymoney?=?0; //?等價于 var?sum?=?undefined; var?mymoney?=?0; //?那么你把mymoney與sum的聲明調(diào)換過來就是 var?mymoney,?sum?=?0; //?等價于 var?mymoney?=?undefined; var?sum?=?0; //?所以在第一次循環(huán)里面 mymoney?=?mymoney?+?sum; //?這里已經(jīng)成NaN了。 mymoney?=?nudefined?+?1;?//?=>?NaN

TA貢獻(xiàn)331條經(jīng)驗(yàn) 獲得超534個贊
因?yàn)槟阒宦暶饕粋€變量不給他賦值的話默認(rèn)為undefined,undefined和任何東西運(yùn)算都為undefined,所以正?,F(xiàn)象

TA貢獻(xiàn)4條經(jīng)驗(yàn) 獲得超0個贊
var?sum,mymoney?=0;
多變量聲明你理解錯了,這里編譯器理解的是 :
var sum 聲明一個變量sum,你沒有給他賦值那么默認(rèn)就是undefined 。
var mymoney = 0; 聲明一個變量mymoney為0。
在后面做運(yùn)算的時候任何數(shù)字加undefined都是NaN,not a number。

TA貢獻(xiàn)128條經(jīng)驗(yàn) 獲得超67個贊
NaN是not a number的意思。
主要因?yàn)閱蝪ar模式的時候,賦值應(yīng)該是每個變量都去賦值,因?yàn)橹皇菃蝪ar,并不是單賦值。
var sum=0,mymoney=0;
不過題主習(xí)慣很好,把所有的變量在最上面采用單var聲明的方式賦值。
不過最好是如下寫法:
var?sum?=?0, ????mymoney?=?0; for(sum?=?1;?sum?<=?10;?sum++)?{ ??//邏輯代碼 }
因?yàn)閟um只是個計(jì)數(shù)器,而mymoney是業(yè)務(wù)邏輯代碼,他們最好換行分開寫,另外就是JavaScript由于其解析原理,最好把左邊花括號放在上面一行。

TA貢獻(xiàn)9條經(jīng)驗(yàn) 獲得超2個贊
語法錯誤,javascript多變量聲明是這樣的var name="Gates", age=56, job="CEO";
添加回答
舉報(bào)