経緯 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(); // こ
id:cheesepie:20070131:1170172709 最近は、こういう風に JavaScript を勉強する人が増えていてとても嬉しいです ^^ id:cheesepie さん頑張ってください! で、ちょっと配列と連想配列の使いかたが違うようなので、エントリーを書こうと思いました。おせっかいだったらすみません>< ! やっぱり、このへんが JavaScript の難しいところのひとつなのだろうか。 ということで、 JavaScript の配列と連想配列の違い いってみよおー 連想配列とは JavaScript では連想配列は一番シンプルなオブジェクトのことである。つまり、すべてのオブジェクトは連想配列である。 以下のすべての連想配列はまったく同じものである。 // 1 var obj = { hoge: 'hoge' }; // 2 var obj = { 'hoge': 'h
コードの解説。 jQueryのイベントオブジェクトからファイルデータにアクセスするためのおまじない。 jQuery.event.props.push('dataTransfer'); PCからファイルがドロップされたときの処理 $("#file").bind("drop", function(event){ // ドロップされたファイルは、eventのdataTransferプロパティの // fileプロパティに配列(例によってArrayではない)に格納されている viewFileContent(event.dataTransfer.file[0]); } ファイルの中身を読み取る処理 function viewFileContent(file) { // ファイル読み込みオブジェクトが実装されているかどうか? if (!window.FileReader) { console.log(
Archived MSDN and TechNet Blogs 1/21/2020 2 minutes to read MSDN and TechNet blog sites have been retired, and blog content has been migrated and archived here. Archived blogs are grouped alphabetically by the initial letter of the blog name. Blogs and blog posts can be searched by their names, using the Search box at the top of the page. Actively updated blogs have been moved to other blog sites,
クッキーと同じくらいメンドクサイんじゃないかと、そしてメンドクサイならもうクッキーでいいじゃないか、と敬遠していたローカルストレージ。 調べてみると使い方はとても簡単。 複雑な初期化手順は要らない、ファイル的な何かを考慮する必要もない、単純にメモリ上においたハッシュ(javascriptのオブジェクト)がページをまたがって消えないようになったもの。 こんな簡単でいいのかな?いやこんな簡単で何が悪いんだ? そんなローカルストレージ(localStorage)について使い方の備忘録。 とりあずこれだけ押さえましょ
逆引きJavaScriptリファレンスです。 ◆ステータスバー(ウィンドウの最下行)に文字を表示させたい ◆文書中に文字を表示させたい ◆変数の値を文書中に表示させたい ◆"(ダブルクオーテーション)を表示させたい ◆'(クオーテーション)を表示させたい ◆フォームのテキストエリアに文字を表示させたい ◆背景の色を変えたい ◆現在の日付を求めたい ◆現在時刻を求めたい ◆警告や注意を促したい ◆文字を入力させたい ◆数値を文字にしたい(変換) ◆文字を数値にしたい(変換) ◆文字列の中から1文字だけ取り出したい ◆一定時間ごと処理を行いたい ◆一定時間ごとの処理を停止させたい ◆サブウィンドウを開きたい ◆フォームに入力された文字列を取り出したい ◆自分のコンピューターのファイルを読み出したい ◆相手のコンピューターにファイルを書き込みたい ◆指定アプリケーションを起動させたい ◆配列を作
1. 文字列を数値に変換する方法 Number、parseInt、parseFloat関数があり、以下の例は全て同じ結果を返します。 ただし、それぞれの関数で文字列から数値に変換する手順が異なります。 特にparseInt関数は第2引数を省略した場合、ブラウザによって挙動が異なるようです。 var str = "123"; // 文字列を数値に変換する var num1 = Number(str); var num2 = parseInt(str, 10); var num3 = parseFloat(str);
HTML5のFileAPIのreadAsBinaryStringで読み込んだバイナリデータを JavaScriptでバイト単位で扱うには、いったんStringオブジェクトをかますとやりやすい。 var reader = new FileReader; reader.onload = function(){ var hoge = new String( reader.result ); var substr = hoge.substr( 0, 100 ); // 先頭から100バイト取れる var firstbyte = hoge.charCodeAt( 0 ); // 先頭バイト取れる }; reader.readAsBinaryString( file ); charCodeAtについてはもしかしたらStringオブジェクトかまさんでもいけたかも。 Stringオブジェクトのコンストラク
簡単なアニメーションのコードを組んでいたら、setInterval()でドツボにハマってしまったのでメモ。なんとか朝日が出る前に原因が解った。。 問題のコード var hoge={}; hoge={ prop:123, foo:function() { this.id = setInterval(this.bar, 2000); }, bar:function() { alert(this.prop); // ←コレ } }; hoge.foo(); 上記プログラムを実行するとhoge.foo()が実行され、setIntervalによってさらにhoge.barが2秒毎に定期的に実行されます。 さて、このalert()なんですが、普通に考えると 123 って出力されると思うんですが、ここでの出力結果は undefined です。 そこで、ここのアラートを alert(this); だけにして
矢印キーとかを使って何が動かしたい場合、斜め方向だと上と右とか同時に押されているかどうかを分からなければならないんだけど、ブラウザでキーを取得しようとするとShift+何かみたいな同時押しは判断できるけど矢印の上、左なのは普通には取得できなかった。 しょうがないからキーのマップを作っておいてonkeydownで押されたキーを記録、onkeyupで離したことを記録するようにして、あとはsetIntervalとかで記録してあるキーの状態をみるようにした。 var keyState = []; document.onkeydown = function(e) { keyState[e.keyCode] = true; return false; }; document.onkeyup = function(e) { keyState[e.keyCode] = false; return fals
JavaScriptの高度な書き方,JavaScriptのユーザ定義オブジェクトの作成方法について記します. ユーザ定義オブジェクトとは,その名の通りユーザで定義するオブジェクトです.JavaScriptには組み込みオブジェクトとして,Stringオブジェクト, Mathオブジェクト,RegExpオブジェクトなど数々の有用なオブジェクトが用意されています.ユーザ定義オブジェクトとは,ユーザで定義したこのようなオブジェクトのことをいいます. JavaScriptはC/Pascal言語のような手続き型でプログラミングできますし,C++/Java言語のようにオブジェクト指向型のプログラミングをすることもできます.JavaScriptは本格的なオブジェクト指向型言語とは言えませんが,一つ大きな機能として「フィールドとメソッドを一つのまとまりとして定義するオブジェクトの抽象化」を備えています.このよ
JavaScript Advent Calendar 2010も22日目!あと3日ですよ。僕はちょうど学んだばかりのCanvasをアウトプットもかねて、まとめと実践を書いてみます。知ることと行うことは同一である、最近行ったセミナーでも言ってました。 jsdo.itにはほんまにこれCanvasなん?なサンプルいっぱいありますね。あーいうの書けるようになりたいなぁとか思いつつ、jQueryばっかりさわってた僕は.animate()メソッドの便利さに取り憑かれていたので、Canvasの絵もまだ上下左右で動かすくらいしかできません。慣れが必要です。。 どうでもいい情報としてCanvasの読み方なんですけど、「キャンバス」じゃなくて「カンバス」が正しいようです。キャンバス・カンバスどっちでもよさげ。僕はキャンバスって読んでました。けどカンバスにします。 前置きはこれくらいにして、今回は次のようなカラ
目次 この文書で書いたもの 何を作りたいのか ゲームの流れ 各画面説明 フィールド画面 戦闘画面 ゲームオーバー画面 ルール 主人公移動時ルール 戦闘時ルール ゲームオーバー時ルール どうやって作るか 言語の選択 プログラムの設計 コーディング&テスト キャンバスとなるHTMLを作ろう クラスの書き方 まずモデルクラスを作ろう ビュークラスを作ろう フィールドビュー 主人公状態ビュー ビュークラスのテスト 入力によってモデルが変化するようにしよう ルール適用しよう モードクラスを作ろう モードクラスとは キーマネージャーを作ろう ゲームモードクラスを作ろう 戦闘画面を作ろう ゲームオーバー画面を作ろう テスト 終了 デバッグ手法 あそぶ 評価 以前作ったランダムマップRPGをWebブラウザ上にベタ移植する webブラ
2013年11月22日 Webサイト制作, ユーザビリティ どのWebサイトにも必ずあるのがナビゲーションメニュー。各コンテンツページへリンクされている「Webサイトの目次」です。この目次をきちんと設置していないと、ユーザーは欲しい情報が見つけられず、離脱率が高くなります。そのサイトでしか手に入らない、本当に必要な情報でない限り、こちらから案内しないとユーザーはコンテンツを探そうとしません。そんなナビゲーションメニューについて考えてみましょう。 ↑私が10年以上利用している会計ソフト! ナビゲーションメニューの設置ポイント すべてのページに 基本中の基本ですが、メインのナビゲーションメニューはどのページにも同じ場所に設置しましょう。ホームページでしか表示されない…なんてことがないように。というのも、ユーザーが最初にたどり着くのが必ずしもホームページとは限らないからです。検索で特定のコンテン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く