作者oCrazyDucko (晚安)
看板Ajax
標題[問題] js的讀取順序
時間Sat Aug 25 00:14:07 2018
https://i.imgur.com/cB5p0Ns.jpg
先附圖
各位大大,這個結果跑出來是
3
無限迴圈的11
我知道為什麼跑出3跟11
但請問function bar跟for不是平行區塊的嗎
為什麼for的迴圈會一直跑去讀i=3呢
-----
Sent from JPTT on my iPhone
--
作者 seraphmm (有殺冇賠) 看板 sex
標題 [新聞]生殖器重達60公斤 男子術後因心臟病離世
時間 Fri Mar 28 09:36:27 2014
1F:推 D122:不像我 30MM又大又長壽 我可是會活到22世紀的男人 03/28 10:51
2F:推 a7417tw:樓上30mm是新標準嗎 03/28 11:41
3F:推 hippobear:30nm會成仙嗎 03/28 11:58
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.203.23.35
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Ajax/M.1535127256.A.AB1.html
4F:推 oToToT: 你有了解javascript的scope嗎 08/25 01:11
5F:→ oToToT: 用var宣告出來的變數會在foo裡都可見(var的特性),所以當 08/25 01:12
6F:→ oToToT: 所以呼叫bar時自然會去找到foo裡的,要符合預期的話應該改 08/25 01:13
7F:→ oToToT: 成let 08/25 01:13
8F:→ jhnny97: 不是阿,foo裡面多放一個變數宣告就好了啊,let、var都可 08/25 10:48
10F:→ oCrazyDucko: 這個問題,但為什麼I=3能夠修改for循環的i呢 08/25 18:06
11F:→ jhnny97: 你要不要用debug模式一步步跑?看看scope和變數的變化? 08/25 18:34
12F:→ xdraculax: bar 裡的 i 前面沒有 let 或 var, 預設會優先繼承上層 08/25 20:13
13F:→ xdraculax: 的,因此 bar 的 i 跟 foo 的 i 也就是 for 的 i 指的 08/25 20:13
14F:→ xdraculax: 是同一個 08/25 20:13
15F:→ flowwinds: 因為for中的var i是function scope的 08/28 12:51
16F:推 youtuuube000: 寫這種code的該打.... 08/30 00:50
17F:推 randall1234: 這樣寫你的i一直都是3你知道嗎,(3+1)*2+3只會噴出 01/21 09:23
18F:→ randall1234: 一堆11 01/21 09:23