第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

變量聲明問題 代碼黑洞嗎?

變量聲明問題 代碼黑洞嗎?

開心的山羊 2016-07-11 13:06:52
<script?type="text/JavaScript"> var?sum,mymoney?=0; for(sum=1;sum<=?10;sum++) {? ??mymoney=?mymoney?+?sum; } ??document.write("sum合計(jì):"+mymoney); </script> 問題:當(dāng)上面var?后面的?sum?與?mymoney?調(diào)換位置?代碼就為NaN 這是為什么??? 麻煩各位老師看看!
查看完整描述

7 回答

已采納
?
super_mb

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>


查看完整回答
6 反對 回復(fù) 2016-07-11
?
Suber丶林

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


查看完整回答
1 反對 回復(fù) 2016-07-11
?
檸檬酸鈉

TA貢獻(xiàn)331條經(jīng)驗(yàn) 獲得超534個贊

因?yàn)槟阒宦暶饕粋€變量不給他賦值的話默認(rèn)為undefined,undefined和任何東西運(yùn)算都為undefined,所以正?,F(xiàn)象

查看完整回答
1 反對 回復(fù) 2016-07-11
?
地獄快車_666

TA貢獻(xiàn)4條經(jīng)驗(yàn) 獲得超0個贊

var?sum,mymoney?=0;

多變量聲明你理解錯了,這里編譯器理解的是 :

  1. var sum 聲明一個變量sum,你沒有給他賦值那么默認(rèn)就是undefined 。

  2. var mymoney = 0; 聲明一個變量mymoney為0。

在后面做運(yùn)算的時候任何數(shù)字加undefined都是NaN,not a number。

查看完整回答
反對 回復(fù) 2016-07-11
?
Tofly_ZZL

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超0個贊

變量賦值問題,多變量賦值不是這樣的。

查看完整回答
反對 回復(fù) 2016-07-11
?
nickylau82

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由于其解析原理,最好把左邊花括號放在上面一行。

查看完整回答
反對 回復(fù) 2016-07-11
?
EricPan

TA貢獻(xiàn)9條經(jīng)驗(yàn) 獲得超2個贊

語法錯誤,javascript多變量聲明是這樣的var name="Gates", age=56, job="CEO";

查看完整回答
反對 回復(fù) 2016-07-11
  • 7 回答
  • 0 關(guān)注
  • 2056 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號