僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
html および script タグは省略。
var first = {}; var second = {}; first.data = {foo: "bar"}; second.data = new Object(); second.data.baz = "bar"; document.write(first.data.foo == second.data.baz, "<br>"); document.write(first.data.foo === second.data.baz, "<br>");
どちらも true が返る。
どちらの foo も、"bar" というString を含む変数。でいいのか?
この場合、var first = second = {}; とやるとfirst.data.foo が
"undifined" になってしまった。
やっぱり分かったような分からないような。
var strobj = {}; var newobj = {}; strobj.qux = "foobaz"; newobj.qux = { bar: strobj.qux }; document.write("newobj qux bar is ", newobj.qux.bar , "<br>"); strobj.qux = "bazfoo"; document.write("newobj qux bar is ", newobj.qux.bar , "<br>");
newobj qux bar is foobar newobj qux bar is foobar
ここでは qux の値は変化なし。
var foo = {}; var bar = {}; foo.baz = bar.qux = "quux"; document.write(foo.baz == bar["qux"]);
true が返るのは、オブジェクトは連想配列として使えるから。 らしい。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。