PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
Ajax
[問題] js的讀取順序
作者:
oCrazyDucko
(晚安)
2018-08-25 00:14:07
https://i.imgur.com/cB5p0Ns.jpg
先附圖
各位大大,這個結果跑出來是
3
無限迴圈的11
我知道為什麼跑出3跟11
但請問function bar跟for不是平行區塊的嗎
為什麼for的迴圈會一直跑去讀i=3呢
作者:
D122
(å°é»‘çƒ)
2017-03-28 10:51:00
不像我 30MM又大又長壽 我可是會活到22世紀的男人
作者:
a7417tw
(喵喵)
2017-03-28 11:41:00
樓上30mm是新標準嗎
作者: hippobear (河馬熊)
2017-03-28 11:58:00
30nm會成仙嗎
作者:
oToToT
(å±å©)
2018-08-25 01:11:00
你有了解javascript的scope嗎用var宣告出來的變數會在foo裡都可見(var的特性),所以當所以呼叫bar時自然會去找到foo裡的,要符合預期的話應該改成let
作者:
jhnny97
(≡( ゚Д゚))
2018-08-25 10:48:00
不是阿,foo裡面多放一個變數宣告就好了啊,let、var都可
作者:
oCrazyDucko
(晚安)
2018-08-25 18:06:00
https://i.imgur.com/cwrkaty.jpg
宣告變數可以解決這個問題,但為什麼I=3能夠修改for循環的i呢
作者:
jhnny97
(≡( ゚Д゚))
2018-08-25 18:34:00
你要不要用debug模式一步步跑?看看scope和變數的變化?
作者:
xdraculax
(首席怪叔叔)
2018-08-25 20:13:00
bar 裡的 i 前面沒有 let 或 var, 預設會優先繼承上層的,因此 bar 的 i 跟 foo 的 i 也就是 for 的 i 指的是同一個
作者:
flowwinds
(..)
2018-08-28 12:51:00
因為for中的var i是function scope的
作者:
youtuuube000
(小孩)
2018-08-30 00:50:00
寫這種code的該打....
作者:
randall1234
(威軒沙)
2017-01-21 09:23:00
這樣寫你的i一直都是3你知道嗎,(3+1)*2+3只會噴出一堆11
繼續閱讀
[問題] 可畫X軸多層的Chart元件
girl5566
[問題] google map api 用時間排序
apalamplm
[問題] facebook 公開粉絲頁面評論抓取
thrco
[工具] 創建與編輯PDF (hummus-recipe)
little78926
[問題] NodeJS上修改程式無反應
z604005
Re: [問題] 新手請教括號有無的差別
peanut97
[問題] 新手請教括號有無的差別
liquidbox
[問題] JavaScript 函式的基礎問題
oCrazyDucko
[問題] React Bootstrap樣式跑掉(已解決)
hoyunxian
[問題] javascript 反混淆 AST
I234567890
Links
booklink
Contact Us: admin [ a t ] ucptt.com