這樣一個場景:let g=''router.get('/',function(req,res,next){ /*查數(shù)據(jù)庫修改g*/
g='date'}
router.get('/next',function(req,res,next){ /*依賴g進行操作*/}用戶每次先進入/路由賦值全局g,/next路由需要根據(jù)g進行操作,如果空值跳轉(zhuǎn)/,不是空值進行下一步操作.假如用戶A先進入,修改g='dataA',然后用戶B進入修改g='dataB'.如果此時A用戶請求/next,此時的g值是應(yīng)該是dataB,但是實際上會根據(jù)dataA來進一步操作,g是全局公用變量,B在A后面進入,請問一下為什么會根據(jù)dataA來操作?
2 回答

阿波羅的戰(zhàn)車
TA貢獻1862條經(jīng)驗 獲得超6個贊
全局公用不是這么公用的,按你這個想法加大家用,如果這樣你帳戶里的錢,很容易就變我的錢了,
全局是針對用戶進程的
比如,我有這么一段程序
var ifunction add(){ console.log(i+2) }
第一次執(zhí)行 輸出為2,第二次執(zhí)行也為2,無論你執(zhí)行多少次,始終輸出2
按你的理解的話,第一次輸出為2,第二次就為4了,你說這可能么?
- 2 回答
- 0 關(guān)注
- 894 瀏覽
添加回答
舉報
0/150
提交
取消