今回は忌念すべき第70回ということで、 「a=b」についてちょこまかと3つの実験をします。 |
コード1 |
function Main1(){ var a=0,b=a delete a alert(b) var a={},b=a delete a alert(b) } |
↑まあ当たり前。(なのか?) |
コード2 |
function Main2(){ var a=0,b=a b=2 alert(a) var a={},b=a b.q=1 alert(a.q) } |
↑矛盾を感じる… |
3 |
function Main3(){ var a=0,b=a b++ delete b alert(a) var a={q:1},b=a b.q++ delete b alert(a.q) } |
↑…!!! |
総括 |
b=aするときは、よく考えましょう。delete bしてもaは消えないぞ。 これって一見当然のことのようですが、たとえば var M=MySomething.MyItem.Mine みたいなことはよくあると思うので、そういう場面では注意です。 |
ホーム 戻る |