You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

JavaScript の配列からランダムで要素を取り出して扱いたいということがあるのですが、安易にやろうとしたら重複した値がでてきたり、 splice でその要素を除いたりしてやっていたのですが、どうも動作安定していない感じだったので、自分の中で再度見直しとしてのメモエントリー。
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog Yahoo!デベロッパーネットワークの中野(@Hiraku)です。JavaScriptでサンプルコードを書く機会があったので、どんなインターフェースで提供するのが便利なのか考えてみました。よく問題になるコールバックのネスト問題について、一般的な話をまとめてみます。 お題 突然ですが、次のような処理を行う必要があるとします。 「0」を出力する 1秒待つ 「1」を出力する 1秒待つ 「2」を出力する これをプログラムで書くとどうなるでしょうか? シェルスクリプトの場合(同期) たとえばシェルスクリプトで素直に書くと、次のようになります。
javascriptってコールバック地獄は避けられないの?という話があったので名前だけ知っていたjQuery.Defferdについて調べてみました。 コールバック地獄? 1秒後に"hoge"その更に2秒後に"fuga"を出力する場合CoffeeScriptではこんな風になったりします。 setTimeout ()-> console.log "hoge" setTimeout ()-> console.log "fuga" , 2000 , 1000 上のコードは簡単な例なのでいいですが、さらに非同期にデータを通信したり、何秒後にこれして、その数秒後にあれしてってなるとどんどん複雑になり、「コールバック地獄」におちいります。 その解決の1つjQuery.Defferdについて調べてみたので記載しておきます。 jQuery.Defferd? jQuery1.5以降にに備わっている機能のひとつ
この記事は賞味期限切れです。(更新から1年が経過しています) AS3にある多くのクラスの中でもお世話になる事が多いのが、EventDispatcher。 カスタムイベントを登録して送出したり出来るので大変便利。 本稿は、JavaScriptでも似た事が出来ないかなぁと試行錯誤してみたログです。 AS3のEventDispatcher まず、AS3のEventDispatcherはどのような代物なのか。 EventDispatcher – ActionScript 3.0 コンポーネントリファレンスガイド public class Example extends EventDispatcher { public static const EVENT_CHANGE:String = "change"; private var value:String = "Hello, World!"; /*
シンプルなEventDispatcherを自作してみました。 仕様としては、 イベント名を渡すとイベントがあるかどうかわかる イベント名とコールバック関数を渡すとイベントを登録できる イベント名とコールバック関数を渡すとイベントを削除できる イベント名(と引数)を渡すとイベントを実行できる の4点を実現しております。 ソースコード function EventDispatcher() { this._events = {}; } /** * イベントが登録されているか調べます * @param {string} eventName // イベント名 */ EventDispatcher.prototype.hasEventListener = function(eventName) { return !!this._events[eventName]; }; /** * イベントを登録しま
■□■リダイレクトしています。■□■ しばらくしても移動しない場合はこちらをクリックしてください。
知っている人は知っている「Airbnb」の JavaScript スタイルガイドを翻訳しました。 急に上司から「Javascript のスタイルガイドないの?」って言われて困ったら思い出してください。 このエントリでお伝えしたいこと。 ネタがなくて困ってたら使ってください。 困ってなくても、イイなと思ったら使ってください。 良かったら Airbnb も使ってください。 Airbnb とは Airbnb とはアメリカのサンフランシスコにある、個性的な宿を扱うスタートアップ企業です。詳細は下の記事を読んでください。 旅行のソーシャル化は「現実世界の Facebook」、AirBnB CEO に聞いた。 Airbnb(JP) 去年の秋くらいに、サイバーエージェントさん主催の Frontrend で名前を聞いた(ような気がする・・・)辺りからチェックしていました。 このたび勉強のついでに翻訳してみ
このページの最終更新日:2019年7月4日 JavaScript。主にWebページを作るのに使われるほか、現在ではさまざまなところで活躍しているプログラミング言語です。 このページはJavaScriptの中級講座です。最新鋭ではないかもしれませんが、読み進めれば大抵のものを自分で作れるようになることでしょう。 言い訳とJavaScriptの歴史 / 問い合わせ 最近の更新2017/10/05 全ページを手直ししました。十六章第六回を追加。2017/11/9 十六章第二十一回・十六章第二十二回を追加。2017/12/2 十七章第三回・十七章第四回を追加。2017/12/3 十七章第五回・十七章第六回・十七章第七回を追加。概要コンテンツは第一篇と第二篇に分かれています。 JavaScriptは昔からWebページに動きを与えるものとして用いられてきましたが、第一篇ではそのような、昔からあるJav
なぜIE6,7(とIE8の配列)ではケツカンマが正しく動かないのか 結論からいうと、「それがJScriptの仕様である」ということになるかと思います。 後述のとおりECMAScript3の仕様書はケツカンマなしなので、IE(=Jscript)がそのような仕様になっていても間違いではないということになります。 ひとつだけ納得がいかないのは、IE(=Jscript)は配列ケツカンマとオブジェクトケツカンマで挙動が異なるのです。 var list = ['a' , 'b', ]; // → 要素3個のarrayが生成される。 var obj = { a : 1, b : 2, }; // → 文法エラー この仕様はなんか中途半端な気がします。 ECMAScriptの仕様はどうなっているのか ECMAScript3 Standard ECMA-262 3rd Edition-December199
Canvas や SVG などを用いて、アニメーションを行う場合の描画繰り返しについて考えます。 描画の繰り返しアニメーションには requestAnimationFrame や setTimeout など利用し、そのタイミングで再描画を繰り返すという手法が一般的です。 これまで、 setTimeout を利用することが主流で、60 FPS のアニメーションの場合は例えば以下の様なコードで実現することも多かったかと思います。 var x = 0; ( function loop(){ setTimeout( loop, 1000 / 60 ); x += 1; console.log( x ); } )(); ただし、setTimeout や setInterval は、ブラウザー側で再描画の準備が整っているか否かにかかわらず、必ず実行されてしまいます。また、ブラウザーのタブが非表示 (バ
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
Stay organized with collections Save and categorize content based on your preferences. The IFrame player API lets you embed a YouTube video player on your website and control the player using JavaScript. Using the API's JavaScript functions, you can queue videos for playback; play, pause, or stop those videos; adjust the player volume; or retrieve information about the video being played. You can
JavaScriptでよくある、 そんなユーザーインプットが行われたわけではないが、それをエミュレートしたい時 各クラス間を疎結合に保ったまま、データのやりとりに独自のイベントを使いたい時 そんな時などに使われるだろうアレです。 MDNくらいしか検索しても情報出てこないので、個人的にまとめ。 参考:Creating and triggering events - Web developer guide | MDN キホンのやつ // いつもどおりなんやかんや書いて elm.addEventListener('touchstart', function() { alert('touch!'); }, false); // イベント作って var ev = new Event('touchstart'); // 発火! elm.dispatchEvent(ev); とまあこんな簡単にできちゃう
本エントリは JavaScript Advent Calendar 201314日目となります。 来年遂にXPが逝去されるということで、IE9以降のシェアが飛躍的に伸びることを祈りつつ、IE9以降でJavaScriptでできるようになることを気がつく限りまとめてみました。 DOM addEventListener / removeEventListener イベントを登録/削除するためのメソッド。IE8まではattachEventとdetachEventという似たような、でも割と細かいところで動きが違うメソッドを使う必要があったが、IE9から標準のaddEventListenerがサポートされている。 ※ jQueryのon/offとかbind/unbindとだいたい同じ。 ※ 第3引数はuseCaptureといって、trueにするとイベント伝播を上位のDOMから発生させることができる。ま
jQueryを学ぼうと思ってネット検索をしても、色々な情報が出てきてどの情報を参考にすればいいか分からないという経験をした方はいるのではないでしょうか。 特に独学で学ぼうとすると、その壁によくぶつかります。ドットインストールのようなメジャーなサービスも使ったことがなければ、その価値は分かりません。 そこでおすすめなのがプログラミングスクールの活用です。最初に何から学ぶべきかといった説明はもちろんのこと、キャリアプランまで相談に乗ってくれるので、ただ単に学んで終わるということが減らせます。 The post jqueryを効率よく学ぶ方法は? first appeared on プログラミング学習の窓口.
上は、IE9 です。(現在は IE11 でエミュレーションできる全てのバージョンで動作します) ▼ IE11 Firefox は、いまだに returnValue にも何か文字列をセットしないと動作しません。 Firefox では、returnValue に値をセットする必要があるようで、しかもバグによって設定した文字列は表示されない事が記されています リンク先では、IE も returnValue を使うような事が書かれていますが、IE9 ではreturn "文字列"; で動作し、リンク先の内容から Safari も return "文字列" であると書かれています。 結果的に、Google Chrome も動作しましたが、Opera はこのイベントそのものが実装されておらず、ページ移動時のチェックはできないようです。 ※ 現在 Opera 15 では、WebKit エンジンに変わった為
どうも、イソップです。 Ajaxで読み込んだコンテンツの中にSNSボタンがあったとしても、レンダリングされません。 さぁ、困りました。 でも調べてみたら、表示させる方法がちゃ〜んと用意されていましたよ。 ボタンだけを再読み込み(リロード)したいときにも使えます。 Twitter JavaScript Interfaces for Twitter for Websites | Twitter Developers HTML <!-- 事前にtwitter-widgetの読み込み --> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く