alert( [ ] == ![ ] ); /* true */ っていうのはよくJavaScriptのWTFネタとしてよく見るんですが、その仕組みについて深く追いかけたことがありませんでした。 そいで今日、 さっきのがなんでtrueになるのか忘れた…あれー。参照が同一であるかをみるのは、両者ともにObject型だったときのみだったっけ… とツイートしたところ、id:efcl(@azu_re) さんから @esperia09 http://d.hatena.ne.jp/otn/20100222/p1 参照を見るのは=== と、回答を頂いたので、せっかくですし詳しく調べてみることにしました! 問題となる式 alert( [] == ![] ); // true !つけてんのになんでtrueやねん!っていう、ちょっと分かりにくい"仕様"です。(バグじゃないよ!) まずは、この評価がどういう判断
2010年のJavaScriptと題しまして、JavaScript周辺の「これまで」と「これから」についてまとめてみたいと思います。 2009年までのJavaScript JavaScriptは各ブラウザベンダなどが個別に実装するという特殊性から、ブラウザ(実装)ごとの非互換性の問題に悩まされ続けてきた言語です。まず、そのJavaScriptの歴史を簡単に振り返ってみます。 ECMA-262 3rd editionとスピードコンテスト JavaScriptはNetscape社によってLiveScriptという名前で誕生し、その後ECMAScriptとして標準化が進みました。1999年12月にECMA-262 3rd editionが策定されてから、Internet ExplorerのJScript、MozillaのSpiderMonkey(TraceMonkey)、SafariのJav
こんにちは。Flex大好き橋本です。 今回は、前回の「E4Xのまとめ-その1-」の続きということで、子孫ノードへのアクセス、値のフィルタリング、名前空間の利用についてまとめていきたいと思います。 ・子孫ノードへのアクセス。 「..」を使って、子孫ノードにアクセスすることができます。 //例 var xml:XML = <root> <hoge>hoge1</hoge> <fuga> <hoge>hoge2</hoge> </fuga> </root>; //前回あったとおり、「.」を使うと、直接の子ノードを取得することができます。 var a:XMLList = xml.hoge; for each (var b:XML in a) { trace(b); //hoge1 } //「..」を使うと、「.」とは異なり、直接の子ノードだけではなく、すべての子孫ノードを取得することができます。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く