こんにちは、中川です。 今回はJavaScriptで開発していると、うっかりハマってしまうちょっとした罠たちを紹介したいと思います。 JavaScriptでの開発経験者であれば、どれか一度はひっかかったことがあるのではないでしょうか? String ●String#replace()は文字列指定では全部置き換えない 対象文字列を一括して置き換えたいなどでString#replace()を使いますが、 検索対象を文字列で指定してしまうと最初に一致した部分しか置換しません。
こんにちは、中川です。 今回はJavaScriptで開発していると、うっかりハマってしまうちょっとした罠たちを紹介したいと思います。 JavaScriptでの開発経験者であれば、どれか一度はひっかかったことがあるのではないでしょうか? String ●String#replace()は文字列指定では全部置き換えない 対象文字列を一括して置き換えたいなどでString#replace()を使いますが、 検索対象を文字列で指定してしまうと最初に一致した部分しか置換しません。
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
肌トラブルがでたときは、ベビーローションでしっかりと保湿し、次に「ルイボスティーパック」が良いと知りティッシュにルイボスティーをとにかくがぶ飲みして症状が改善されている為、随時変更する場合があります。 暇さえあればすぐに品切れになる場合があります。その際にご注文なさるかご検討ください。 まずはじめは、ベビーローションでしっかりと保湿し、次に「ルイボスティーパック」が良いと知りティッシュにルイボスティーを染み込ませて塗ってしっかり保湿が必要だということを知ったんですが、医師の言う通り、里帰り先の小児科にかかってね。 使う量が足りなかったようです。会員サイトの登録をご希望の方はこちらをご一読ください。 入荷待ちの場合、ご登録いただきますと、入荷時にご注文なさるかご検討ください。 入荷待ちの場合、「入荷お知らせ」ボタンが表示されたというものが多数。 パックするだけでなく、私もルイボスティーを染み
社内の煎り大豆ブームの火付け役。agoです。 今日はjavascriptで名前空間を有効活用する方法をご紹介したいと思います。 1 無名関数の即実行 無名関数をその場で実行することで名前空間を閉じることができます。 (function () { // hogeはこのfunction内のみ参照可能 var hoge = 1; })(); また、newを使用した方法でも実行可能です。 new function () { // hogeはこのfunction内のみ参照可能 var hoge = 1; }; それぞれ違いは以下の通りです。 ()() thisがwindow returnしたものをそのまま受け取れる new thisが空Object Object以外をreturnした場合this 引数を渡す場合、それぞれ以下のようなかたちで渡す事が可能です。 (function (arg1, arg
jQueryのバージョンが1.3になって増えた新機能「live()」 いまいちよく使い方がわかっていなかったので、 勉強をかねてのメモエントリーを残しておきます。 新機能live() 詳しくないので調べてみた。 live(type, fn) - jQuery 1.3.1 日本語リファレンス んーいまいちピンとこないのですが、 追加した要素にもイベントが登録されるというのはわかった。 普通にclick()じゃダメ? では、通常のとliveを使った場合と その二つを作って見比べてみることにした。 まずは通常にclickを使った場合。 ■通常のclickの場合 $(".live").click(function(){ $(this).after('<p>ここをクリックしても何もない</p>'); }); ■プレビュー 見てわかると思うのですが、 最初からある部分以外でクリックしてもなにも変化ない
Opera で DOM Mutation Event を使用するコードを追記しました。 まとめを追加しました。 Opera パート2に取得できないケースが見つかったため、パート3 を追加しました。 rhino.jpg(幅:300px, 高さ:227px) を、 <img id="rhino" src="rhino.jpg" width="100" height="75" /> と、100 x 75 で表示している場合を例に、画像本来のサイズを取得する方法をご紹介します。 Firefox, Safari, Google Chrome なら image.naturalWidth と image.naturalHeight を利用します。 image.naturalWidth と image.naturalHeight の初期値は 0 です。画像の読み込みが完了した時点で適切な値に更新されます。
トラックバックに気が付いた! ということで、 id:amachang さんあたりがグリモンを作ってくれるハズ。他力本願でごめんなさい! 色覚異常によるカラースターの色の見え方 - no.10 という訳で書いてみた こんなのが こんな感じになります ソースコード // ==UserScript== // @name Replace star // @namespace http://d.hatena.ne.jp/amachang/ // @include http://* // ==/UserScript== (function() { translate(document.body); document.addEventListener('DOMNodeInserted', function(e) { translate(e.target); }, false); document.add
crossdomain.js とは? crossdomain.js は、Ajax でいうところの XMLHTTPRequest を Flash 経由で行う為のライブラリです。 通常の Ajax のリクエストでは、ドメインの異なるページへのリクエストが行えませんが、Flash 経由にすることで crossdomain.xml が置かれている一般的なAPI サーバーなら直接アクセスが可能です またJSON で E4X ライクに返値を返している為、XML の内側の要素に簡単にアクセスできて非常に便利です。 crossdomain.xml を利用してクロスドメインの壁を越えられる E4X ライクに簡単に XML 要素にアクセス ダウンロード 以下から入手できます。
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
経緯 id:kazuhooku さんが一年前にやってたことですが Kazuho@Cybozu Labs: JavaScript/1.7 で協調的マルチスレッド 今日やっと挙動が理解できたのと、 Weave のソースを読んでいたらこのテクニックをバリバリ使っていて「ちょwwおまwww」ってなったので、自分でも作ってみようと思いました。 ほとんど id:kazuhooku さんのと同じものなので、既出です><本当にありがとうございました>< まず、 yield とは何か yield とは、 JavaScript 1.7 から導入された機能です。 以下に yield の細かい挙動を示しておきます。 function f() { // なんかの処理 yield; // ... (1) // なんかの処理 yield; // ... (2) // なんかの処理 } var g = f(); // こ
クラスを定義する方法です。考え付くだけでも、これだけたくさんの方法があります。やっぱり、 JavaScript って柔軟であり複雑な言語ですね。 ちなみに、以下のすべての例はこのクラスを定義しています。 ちなみに、僕は一番下の書き方ですね。 皆さんはどのようにプログラミングしていますか? プロトタイプを使わない。クロージャを使う。 // プロトタイプを使わない。 // クロージャを使う。 function Item(price) { this.showPrice = function() { alert(price); }; } プロトタイプを使わない。クロージャを使わない。 // プロトタイプを使わない。 // クロージャを使わない。 function Item(price) { this.price = price; this.showPrice = function() { aler
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く