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

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

我的局部變量沒有更新全局變量?

我的局部變量沒有更新全局變量?

拉莫斯之舞 2023-08-24 18:24:45
我有一個全局變量號,因此它獲得了一個函數(shù)的傳遞,但是當它完成時,它應該在函數(shù)內(nèi)部更改該變量并將其傳遞到外部全局變量進行更新。因此,它繼續(xù)使用舊的全局變量,而其他一切都在更新并變得更大。var P_Level = 1var E_Level = 1var P_Current = 0var P_Max = 100function P_EXP_Gain(exp) {    console.log('P_Max1 is '+P_Max)    console.log('P_Current1 is '+P_Current)    console.log('P_Level1 is '+P_Level)    console.log("")    if (exp == undefined || null) {        P_Current = (E_Level * 20) + P_Current        P_Max = P_Max        P_Experience(P_Current, P_Max)    }    else {        P_Current = ((E_Level * 20) + exp) + P_Current        P_Max = P_Max        console.log('P_Max2 is '+P_Max)        console.log('P_Current2 is '+P_Current)        console.log('P_Level2 is '+P_Level)        console.log("")        P_Experience(P_Current, P_Max)    }}function P_Experience(P_Current, P_Max) {    while (P_Current >= P_Max) {        P_Level++ // There is a hidden error that causes one to gain perm level up every time they level up via normal way.        P_Current = P_Current - P_Max        P_Max = P_Level * 100        console.log("")        console.log('P_Max3 is '+P_Max)        console.log('P_Current3 is '+P_Current)        console.log('P_Level3 is '+P_Level)        console.log("")        alert('Level Up')    }}P_EXP_Gain(80)P_EXP_Gain(80) // notice that current random get extra 100P_EXP_Gain(80)您可以通過 console.log 看到,在 while 循環(huán)之前,它的 P_Max 始終為 100,但在那之后,它會正確更改,但該更改永遠不會更新為全局 P_Max。我還注意到,在第一個 P_EXP_Gain 之后,在考慮增益之前,函數(shù)第一部分中的 P_current 將增加 100。我不知道為什么會發(fā)生這種情況。我是不是數(shù)學哪里搞錯了?https://jsfiddle.net/Necrorifter/Lc18tobw/9/
查看完整描述

2 回答

?
白板的微信

TA貢獻1883條經(jīng)驗 獲得超3個贊

P_Experience 函數(shù)的參數(shù)名稱是 P_Current 和 P_Max,它們覆蓋函數(shù)內(nèi)的全局范圍。最簡單的解決方案是重命名參數(shù)



查看完整回答
反對 回復 2023-08-24
?
慕碼人8056858

TA貢獻1803條經(jīng)驗 獲得超6個贊

我認為您的函數(shù)正在使用傳遞給函數(shù)的參數(shù)而不是全局變量。您可以重命名參數(shù),它應該可以工作。


function P_Experience(P_Current_param, P_Max_param) {

    while (P_Current >= P_Max) {

        P_Level++ // There is a hidden error that causes one to gain perm level up every time they level up via normal way.

        P_Current = P_Current - P_Max

        P_Max = P_Level * 100

        console.log("")

        console.log('P_Max3 is '+P_Max)

        console.log('P_Current3 is '+P_Current)

        console.log('P_Level3 is '+P_Level)

        console.log("")

        alert('Level Up')

    }

如果您絕對需要參數(shù),也許像這樣。如果你不需要它們,你可以在你的函數(shù)中使用全局變量而不傳遞它們


查看完整回答
反對 回復 2023-08-24
  • 2 回答
  • 0 關注
  • 206 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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