タグ

javascriptに関するnacika_inscatolareのブックマーク (44)

  • オブジェクト、配列のコピー - (new Hatena).blog()

    JavaScript では、オブジェクトや配列を関数に渡す時、常にポインタが使われます。いわゆる copy by reference ですね。変数に代入する場合も同様です。 当然メモリー効率を配慮した設計な訳ですが、どうしてもコピーが欲しい時もあるものです。 配列のコピーを取りたい時はどうすればいいでしょうか。 var a = [1, 2, 3]; var b = []; b.unshift(a);うまくいった気がしませんか? 実はこれは駄目なんですね。unshift が引数に取るのは、配列ではなく、配列に加えたい要素のリストなので、ここでは b[0] に a が丸ごと入ってしまっていることになります(私はこれに気付かず長時間悩みました)。 で、改めて調べたところ、concat メソッドを使えば良いことがわかりました。 var a = [1, 2, 3]; var b = a.concat

    オブジェクト、配列のコピー - (new Hatena).blog()
  • Event: preventDefault() メソッド - Web API | MDN

    preventDefault() は Event インターフェイスのメソッドで、ユーザーエージェントに、このイベントが明示的に処理されない場合に、その既定のアクションを通常どおりに行うべきではないことを伝えます。 このイベントは通常、イベントリスナーの 1 つが stopPropagation() または stopImmediatePropagation() を呼び出し、いずれかが一度に伝播を終了しない限り、伝播し続けます。 後述のように、 preventDefault() を EventTarget.dispatchEvent() によってディスパッチされたイベントのようなキャンセルできないイベントに対して、 cancelable: true を指定せずに呼び出しても何も効果がありません。

    Event: preventDefault() メソッド - Web API | MDN
    nacika_inscatolare
    nacika_inscatolare 2012/07/25
    デフォルトのイベントの動作を無効化させる
  • フォーカスされている要素を取得する方法 - sawatのブログ

    忘れないようにメモしておこう。 var element = (document.activeElement || window.getSelection().focusNode); 前半がIE/Opera用。getSelectionを使うのはFirefox用。Safariは多分ゴメンナサイ。

    フォーカスされている要素を取得する方法 - sawatのブログ
  • [JavaScript] newは大事だよ! / LiosK-free Blog

    2010-07-19 カテゴリ: Client Side タグ: JavaScript トラックバック JavaScriptのnewって何?一体何なの?という話 - 愛と勇気と缶ビール クラスってものはJavaScriptにはないはずなのに、 new ClassName();と書くとあたかもClassNameクラスのオブジェクトのインスタンスが生成され、それが返ってくるかのような挙動をしている。 これは気持ち悪い。言語仕様としてはクラスは来存在しないのに、クラスのようなものが導入されている。まともな神経を持った人間なら、一体 new演算子って何なの?という疑問を持つのが当たり前である。 こんな扱いを受けているnewがあまりにも不憫で涙した>< newはprototype-basedなJavaScriptを書くための唯一の手段[1]で、真にJavaScriptらしいコードを書くためには欠か