タグ

javascriptに関するrryuのブックマーク (236)

  • 中上級者になるためのJavaScript【知識編】 - Qiita

    【News】電子書籍化しました! Gitbook Read Online Download PDF Download EPUB Download MOBI この記事は、敷居が低いもののなかなか中上級に進めず困っているJavaScript学習者の方を対象としています。よりJavaScriptに対する理解を深める際に気を付けるべき事柄、知っておくべきキーワードの提供をゴールとします。 「クロージャーについてもっと知りたい!」「カリー化なるものがあるのか、知らなかった!」といったきっかけになれば幸いです。 JavaScriptは書ける人が多く、ベストプラクティスが整ってあるものの、逆に間口が広すぎてコピペで済ませてしまったり(場合によってはしょうがないことですが)基礎を学ぶ機会がなくなんとなく現場に出てしまったりすることがありますので、ぜひこの機会にJavaScriptを復習してみてください。

    中上級者になるためのJavaScript【知識編】 - Qiita
    rryu
    rryu 2016/02/01
    JSでカリー化と部分適用ってそんなに使うものなのだろうか。
  • iframe sandbox は万能ではない - 葉っぱ日記

    HTML5で導入されたiframe要素のsandbox属性は、そのiframe内のコンテンツに対しJavaScriptの実行を始め様々な制約を課すことでセキュリティの向上に役立つ機能である。例えば、以下のように指定されたiframeでは、iframe内からformのsubmitなどはできるが、iframe内でのJavaScriptの実行やtarget=_blankなどによってウィンドウを開くことなどは禁止される。 <iframe sandbox="allow-forms" src="..."></iframe> sandbox属性に明示的に allow-scripts という値を指定しない限りはiframe内では直接的にはJavaScriptは実行できないが、かといってiframe内から間接的にJavaScriptを必ずしも実行させることが不可能かというとそうでもない。 sandbox属性

    iframe sandbox は万能ではない - 葉っぱ日記
    rryu
    rryu 2016/01/21
    ローカルで動かすJSは勝手が違うから色々と罠が多い。
  • 旧石器時代のJavaScriptを書いてる各位に告ぐ、現代的なJavaScript超入門 Section1 ~すぐにでも現代っぽく出来るワンポイントまとめ~ - Qiita

    はじめに ネットには様々な情報が溢れており、JavaScriptに関する情報も多数存在しております。 その中には、「今時こんな書き方しねえよ…」と思わずツッコミを入れたくなるような、当に、当に古い内容について書かれている古文書も存在します。 そんな罠記事の情報に囚われてしまって、いつまで経っても現代的なJavaScriptが書けない皆さんのために、このシリーズの記事では、各セクション毎に分けて、旧石器時代の記述と、現代の記述を紹介する形で、文明開化をしていきたいという思いで記述する。 最初は、現在比較的メジャーなブラウザで一通り動作する「ECMAScript 5」までの内容に関してポエムを書き連ねていき、最終的には一連の内容を読むだけで「ES6(ES2015)」による新機能や、絶賛提案中の「ES7」の一部提案内容についても把握し、おおよそ現代人を育成することを目標とする。 …なんてめっ

    旧石器時代のJavaScriptを書いてる各位に告ぐ、現代的なJavaScript超入門 Section1 ~すぐにでも現代っぽく出来るワンポイントまとめ~ - Qiita
    rryu
    rryu 2016/01/19
    この辺のめんどくさいところを何とかしてくれていたjQueryに感謝。IEが死に切れば生DOMが主流になるんだろうか。
  • 配列名にnameを使用するとfor-inで期待の動作をしない問題 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    配列名にnameを使用するとfor-inで期待の動作をしない問題 - Qiita
    rryu
    rryu 2016/01/05
    JSにはローカル変数というものが無く実際は現在のコンテキストのレシーバーのプロパティであるという罠の最悪ケースか……
  • Safari 9.0 の JS で「同じ関数を繰り返し実行しただけで返り値が変わる」という強烈なバグが発見されてる - Qiita

    Webkit の Bugzilla で強烈なバグが報告されていると、同僚に教えて頂いた。 あまり話題になっていないものの、単純ゆえに強烈なバグだと思ったので Qiita にも公開しておく。 https://bugs.webkit.org/show_bug.cgi?id=151354 にそのバグ報告が上がっている。 最初に Google+ でやりとり があった模様。 URL のクエリ文字列から値を取り出す関数が正常に動作していないことから発覚したようだ。 その後は、簡単なテストケースに落とし込まれ jsfiddle というサイトにテストケースが公開されている。 Safari でこのページを開くと、実際に JavaScript を実行して確認できるようになっている。 続報 (2015.12.14) この記事を上げてすぐに Bugzilla の方で進展があった。 Yusuke SUZUKI さん

    Safari 9.0 の JS で「同じ関数を繰り返し実行しただけで返り値が変わる」という強烈なバグが発見されてる - Qiita
    rryu
    rryu 2015/12/14
    数字のみのプロパティにアクセスする関数がJITされると発生するらしい。修正コミット http://trac.webkit.org/changeset/194021
  • amCharts: customizable free flash charts

    Built for what AI can't quite get right. 20 years of hard-won knowledge about charts, data, edge cases, and human perception — packaged into the most beautiful, most capable data visualization library on the web.

    amCharts: customizable free flash charts
  • Object.observe の死 (ECMAScript の提案取り下げ、V8 からも削除予定)

    1年前の記事 JavaScript フレームワークがデータバインディングを実現する4通りの手法 では、Object.observe() について次のように説明した。 JavaScript オブジェクトが変更されたときにコールバックを呼んでくれる API データバインディングの実装が簡単になる Google Chrome には実装済み ECMAScript 7 に提案中 提案が通れば MV* フレームワークの実装がシンプルになってハッピー 将来を期待されていた Object.observe() であったが、2015 年 11 月頭、ES Discuss メーリングリストへの An update on Object.observe という投稿で、ECMAScript からの提案が取り下げられて、V8 エンジンからも年内に削除される予定であることが表明された。 Object.observe()

    Object.observe の死 (ECMAScript の提案取り下げ、V8 からも削除予定)
    rryu
    rryu 2015/11/18
    結局無くても何とかなったという感じなのだろうか。
  • テーブルのソート・フィルタ機能等、超多機能テーブルに変形させられる「jQuery-KingTable」:phpspot開発日誌

    RobertoPrevato/jQuery-KingTable GitHub テーブルのソート・フィルタ機能等、超多機能テーブルに変形させられる「jQuery-KingTable」 テーブルを次のように超リッチにしてくれます。ページング、フィルタ、ソート等便利に使えます テーマも色々えらべます 関連エントリ テーブル内容の編集がその場で出来て便利になる「jQuery-Tabledit」 高機能&高速なテーブル実装jQueryプラグイン「WATable」 ブラウザ内で50万件のテーブルもサクサクで表示できるようにする「Clusterize.js」 ヘッダ、フッタを固定したテーブルを実装できるjQueryプラグイン「jTableScroll」 テーブルをGoogle Chartsを使って多様なグラフに変換することが出来る「Chartinator」

  • ECMAScript6にシンボルができた理由

    ECMAScript6 (ES6, ES2015) で導入された新機能の大半は、読めば便利さが想像くらいはできるけど、自分にとってしばらく訳がわからなかった新機能が「シンボル」(MDNのリファレンス)。これまで文字列だけで上手くやってきたJavaScriptに、急になぜこんなものが導入されたの? イマイチ分からなかったので、調べたことのまとめ。 シンボルの簡単なおさらい 知ってる人は読み飛ばし推奨。詳しく見たい人は、こことかの他のページを参照。 ES6で導入された、 Symbol() で作成できる特殊な値。 Symbol() は、 typeof すると 'number' でも 'string' でも 'object' でもなくて 'symbol' となる、まったく新しいタイプのプリミティブ値を生成する。 一旦作ったシンボルは、それ自身とのみ等しくなる、ユニークなIDとして機能する。 ===

    ECMAScript6にシンボルができた理由
    rryu
    rryu 2015/10/26
    Symbol('foo') == Symbol('foo') はfalseなんだ。しかも引数は名前じゃなくてdescriptionなんだ……
  • やはり、お前らのJavaScriptでのリダイレクト実装は間違っている

    一見簡単に見えるJavaScriptでのリダイレクト(URL転送)ですが、よく知られた方法にはある落とし穴があり、Googleアナリティクスで正常な解析が行えなくなります。どんな落とし穴があるかと、その回避策について解説します。 なお、こちらの記事は、 SEM Technology - Googleアナリティクスに悪影響を与えずにJavaScriptでリダイレクトする方法 と同じ内容となっています。 はじめに モバイルサイトとPCサイト間のリダイレクトであったり、URL変更に伴うリダイレクトにおいて, .htaccessなどを用いたサーバー側でのリダイレクトが技術上できず、JavaScriptを利用してリダイレクトしているケースをたまに見かけます。 こうしたサイトでは、見た目上は問題なく動作しているものの、実はGoogleアナリティクスなどを用いてアクセス解析を行うと致命的な問題点がみつか

    やはり、お前らのJavaScriptでのリダイレクト実装は間違っている
    rryu
    rryu 2015/10/22
    流入経路の分析をしている場合に流入元の情報が失われるという話。URLのクエリーに付けるとURLが違ってしまうのでそれはそれで困るような気も。
  • さよなら CoffeeScript - mizchi's blog

    prototype.js が jQuery に置き換えられた時、開発者が気づいたのは、自分に当に必要だったのはprototypeのメソッド拡張などではなく、クエリエンジンだったということ。 coffeescriptが当初、熱狂的に支持された背景はなんだっただろう。今思えば、それはアロー記法とクラス構文だったと思う。 javascriptの関数型への憧れ、prototypeベースの限界 javascript は断じて関数型言語ではないが、他の言語と同じぐらい関数型言語に憧れていたのも、また事実だろう。しかしビルトイン関数が高階関数を要求するデザインにしては function というキーワードはながすぎたし、その function が暗黙に作り出す this スコープの複雑な振る舞いも開発者の悩みの種だった。「あらゆる関数スコープで状態を持つことが"できすぎる"」という割れ窓だった。 ES5

    さよなら CoffeeScript - mizchi's blog
    rryu
    rryu 2015/10/04
    まあ、CoffeeScriptはシンタックスシュガーの塊みたいな言語だから伸び代はそんなに無いとは思っていたが、ES6でとどめを刺された感はある。
  • IE系でinputイベントが発火しないのをなんとかしてみる(ついでにIME入力中は発火しないイベントも追加) - Qiita

    最初のコードはinputやtextareaでの値の変更時にIME入力中でなければ独自のイベントを発火するというものでしたが、IE系では「contenteditable="true"」を設定したエレメントでinputイベントが発火しないという他のブラウザとの差異がありましたので全面的に書き直しました。 最初のコードも旧コードとして残しておきます。 はじめに 以前jQueryでIME入力確定時にイベントを発行するという記事を投稿しましたが、inputやtextarea inputやtextarea、「contenteditable="true"」を設定したエレメントでの値の変更を監視するという面では不十分だった為、新たに書き直したものを公開します。 なお、2016年1月13日以降はWindowsVistaはIE9、その他はIE11のサポートのみとなる為、今回作成したものはIE9以降のサポートと

    IE系でinputイベントが発火しないのをなんとかしてみる(ついでにIME入力中は発火しないイベントも追加) - Qiita
    rryu
    rryu 2015/09/17
    CompositionEventはもう割と普通に使えるのか。
  • 各ブラウザのキーコード表[JavaScript]

    Add to Cart Produk ini tidak dapat dibeli karena bermasalah. Silahkan hubungi kami. Dalam dunia perjudian online, slot gacor menjadi salah satu permainan paling populer yang digemari oleh berbagai kalangan. Dengan mekanisme sederhana dan peluang menang besar, slot kerap menjadi pilihan utama bagi pemain baru maupun berpengalaman. Salah satu platform yang sedang naik daun dan menarik perhatian para

  • HTML / DOM におけるキーボードイベント周りの話 - ひだまりソケットは壊れない

    最近キーボードショートカットの実装をしようと思ってキー入力によるイベント周りについて調べてみたのだけれど、日語でまとまった情報が見つからなかったので、キーボードショートカットの実装に必要そうな内容を簡単にまとめておこうと思う。 キーボードショートカットに限らず、キー入力によるイベント周りの何かをする場合には参考になると思う。 記事では、DOM 3 Events spec の 2012-09-06 の版を参照しており、将来の版では変更されている可能性がある。 最新の版は下記リンクから確認のこと。 Document Object Model (DOM) Level 3 Events Specification (DOM 3 Events spec の最新安定板) keydown イベント、keypress イベント、keyup イベントについて keydown イベント は、キーが押された

    HTML / DOM におけるキーボードイベント周りの話 - ひだまりソケットは壊れない
  • Javascript IME入力中の判定 - @//メモ

    2023-12-012023 91.5% (334.1/365) December 0.3% (0.1/31) Week 48 58.8% (4.1/7) Day 01 Fri 11.7% (2.8/24)

    rryu
    rryu 2015/09/13
    keypressとkeyupの数を数える方法。
  • jQueryでIME入力確定時にイベントを発行する - Qiita

    新しいものに書き直しました 下記のものではうまくイベントが発火しない場合がありましたので、inputやtextareaの値が変わったらイベント発火(IME入力中を除く)に新バージョンとして書き直しましたので、そちらも参照ください。 はじめに テキスト入力項目で英数字は半角に統一したいけど、ユーザに「英数字は半角で入力してください」なんてエラーを表示するのはいただけないよねと思い、「それなら自動でフィルタリングしてあげればいいじゃん」なんて考えてしまったのが運のつき 日人には切っても切れないIME入力という魔物が住んでいました IMEの入力でなければ「keyup」のイベントを拾って変換してやればよいのですが、IME入力中にこれをやっちゃうと入力している文字が確定されちゃう ならば「keyup」のイベントをディレイしてやる と思ったら、キー入力の遅い人だと途中でやっぱり確定されちゃう はいは

    jQueryでIME入力確定時にイベントを発行する - Qiita
    rryu
    rryu 2015/09/13
    こんなに大変なのか……
  • ReactとFluxのこと // Speaker Deck

    http://inside.pixiv.net/entry/2015/04/27/170944

    ReactとFluxのこと // Speaker Deck
  • JavaScriptは値渡しか?共有渡し(参照の値渡し)か? | teratail

    JavaScriptは値渡しなのでしょうか?共有渡し(参照の値渡し)なのでしょうか?普通のObjectはすべて共有渡しだと思うのですが、プリミティブ型(?)については違うようなのです。しかし、StackOverflow(※)でもまとまっていないようで、よくわかりませんでした。詳細を分かる方がいれば、下記について教えて下さい。 ※参考: StackOverflow: Is JavaScript a pass-by-reference or pass-by-value language? 値渡しになる型はあるのでしょうか?ある場合は、どの型がなるのでしょうか? 1.の型のうちmutableな型はあるのでしょうか?ある場合は、mutableな型の破壊的メソッドはどのようなものがあるのでしょうか? 値渡しであることが分かる(共有渡しでは説明できない)コードはありますでしょうか? C++やC#で言う

    JavaScriptは値渡しか?共有渡し(参照の値渡し)か? | teratail
    rryu
    rryu 2015/08/18
    PHPはPHP5まではzvalの参照渡しだったのをPHP7からzvalの値渡しに変えていて、割とどっちでも実装できるので仕様的には決めていないという感じがする。
  • https://qiita.com/falsandtru/items/41591040633bc88fcde7

    rryu
    rryu 2015/06/28
    安定ソートのことを知っている人には超絶な出落ち感で、知らない人には不安を煽られただけでなんだかわからない記事だと思う。
  • なんだかんだで SPA から jQuery に戻った話 - ボクココ

    最近は SPA とか React といった話題が尽きないが、自分は結局 フロントエンド JavaScript は jQuery が最もいいと感じている。それはそれら SPA の JavaScript をいじった経験を踏まえての感想。 理由としては、「 やりたいことができにくい 」これに尽きる。 最新を追うということ 自分が最初にSPAを触ったのは AngularJS だった。なるほど、この ng-repeat や $route, $scope などを使えば、今までサーバサイドでやってたようなレンダリングが表側で制御できるようになる!と感動したものだった。この気持ち良さはきっとサーバーサイドでごにょごにょやっていた経験のある人ならなおさら感動するものだ。 さて、じゃあといって「次作るのは SPA のサービスにしよう!」と意気込んで初めて見たとする。それで作っただけで話題になるし、エンジニア

    なんだかんだで SPA から jQuery に戻った話 - ボクココ
    rryu
    rryu 2015/05/19
    まあ、サーバ側から来たHTML片をアニメーション付きで挿入するだけでは難しくなるレベルで無い限りjQueryで十分というか。