JavaScriptのオススメのユーティリティ(配列・文字列・日付)ライブラリを紹介します。Read less
![JavaScriptユーティリティライブラリの紹介](https://cdn-ak-scissors.b.st-hatena.com/image/square/e9a25244991acafa0a89c0c94f70cc1235767269/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fjs-lib-131129131146-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
JavaScriptのオススメのユーティリティ(配列・文字列・日付)ライブラリを紹介します。Read less
●任意の文字に一致 書式:/文字/ 例1:"abcdefg".match(/a/) 結果:a 例2:"abcdefg".match(/cde/) 結果:cde 例2:"abcdefg".match(/xyz/) 結果:null ●改行文字を除く任意の1文字にマッチ 書式:/.文字/ 例1:"abcdefg".match(/.f/) 結果:ef ●複数個の文字にマッチ 書式:/../ (.はマッチする個数並べる) 例1:"abcdefg".match(/.f/) 結果:ef ●指定文字のいずれかにマッチ 書式:/[任意文字]/ 例1:"abcdefg".match(/[ahg]/) 結果:a ●指定文字以外のいずれかにマッチ 書式:/[^任意文字]/ 例1:"abcdefg".match(/[^ahg]/) 結果:b ●複数の文字列のいずれかにマッチ 書式:/任意文字列|任意文字列|...|
限定したブラウザでのみサイトを表示したい事が多々あると思うので、ブラウザ判別を楽にするコード。 個人的にmsie 6とかmsie 7とか書くのが面倒なので、勝手にie6とかie7という風に省略。 現状、IE系とChrome、Safari、Opera、FireFoxに対応。 それ以外は"unknown"。 ※IE11はPreview版での検証(IE11からuserAgentにMSIEが含まれなくなったので、Tridentのバージョンで判別してます) /** * ブラウザ名を取得 * * @return ブラウザ名(ie6、ie7、ie8、ie9、ie10、ie11、chrome、safari、opera、firefox、unknown) * */ var getBrowser = function(){ var ua = window.navigator.userAgent.toLowerC
前回の記事で、200行で作れるHTML5製テトリスをご紹介してたくさんの反響がありました。 誰もが知っているゲームを少ないコードで実現していることと、コードが読みやすくてプログラミングのスキルアップに役立つということで関心をもたれたと思います。 これを機会に自分でもゲームを作ってみたいと思った方もいるのではないでしょうか?筆者もそのうちの一人です。 しかし、フルスクラッチで作るとなるとそれなりに経験が必要ですし、高度な動きを実現するにはどうやって作れば良いのかも分かりません。 そこで今回ご紹介するのは、ゲーム作りに最適な、高性能JavaScriptアニメーションフレームワーク「CAAT」です。(CAATは、Canvas Advanced Animation Tookitの略) 「CAAT」は完全なゲームフレームワークとして様々な機能が提供されています。 CAATの機能と特徴 オンスクリーン
JavaScriptでヒアドキュメントを使うライブラリを作りました。 heredoc.js http://www.teria.com/~koseki/memo/jsheredoc/heredoc.js テスト http://www.teria.com/~koseki/memo/jsheredoc/test.html 外部ファイルサンプル http://www.teria.com/~koseki/memo/jsheredoc/tests.txt 使い方 scriptタグ内に直接書き込む使い方(インラインモード)と、外部ファイルを読み込んでコールバックを実行する使い方があります。 インラインモード <script src="heredoc.js"> # ここはscriptとして解釈されません。 str1 =<<EOT 複数行の文字列です。 下の行でおわりです。str1はグローバルになります。
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました ほほーこんな方法が! 複数行の文字列を変数に入れる場合、ヒアドキュメントを使うのが一般的です。しかしJavaScriptにはヒアドキュメント機能がないので複数行の記述がメンテナンスしづらいものになりがちです。 そこで使ってみたいのがmultilineです。こんな方法があったのか!といったやり方で解決してくれます。 multilineの使い方 まずは通常の書き方から。 var str = '' + '< !doctype html>' + '<html>' + ' <body>' + ' <h1>❤ unicorns/h1>' + ' </h1></body>' + '</html>' + ''; まぁ普通ですよね。これがmultilineを使った場合、 var str = mult
そろそろ「テンプレート文字列」を使用しても問題なくなってきたので、こちらを使用しまよう。 テンプレート文字列 - JavaScript | MDN Multi-line strings in JavaScript and Node.js 面白い記述のしかたを発見。 <html> <head> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script src="http://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script> <style> .title{ width:100%; height:240px; line-height:240px; text-al
ソースコードリーディングとかしてると、ただコード読んでてもどうしようもなく、オブジェクトの中身や変数などを見るためにデバッグツールを使いながらでないとやっていけないことが今になって分かりました。自分でもどうしようもなくアホだと思いながら戒めのために覚書。 デバッグツールの機能 僕自身まともに触れる言語はjavascriptとphpくらいなもので、どちらもeclipseのようなIDEを使わず頑なにvimを使って組んできました。phpの場合はxdebugと連携させる方法*1や、javascriptならrhinoなんかを入れてquickrunとかって方法も考えられますが、僕はある程度は知っていながらもひたすら標準のスタックトレースやalert,console.log,console.dirばかりしていたので、まずはIDEなどに搭載されている一般的なデバッグ機能を復習をかねて覚書。 ブレークポイン
日頃からJavascriptで開発をしているのにも関わらずあまりテストを書かないので、ここは本格的にテストを書こうと調べてみました。JavascriptのテストフレームワークといったらJsUnitなのかなーと思っていたが、調べてみると結構いろんな種類のテストフレームワークがあったりして、その中で得に人気なのかどうやらJasmineらしい。 Jasmine ~ JavaScript Test フレームワーク より引用: 今回は, JavaScript のテストを行うためのフレームワークJasmine の紹介です。 JavaScript のテストといえば, JSUnit が有名です。 JSUnit は, JUnit とに似たような, Matcher が利用できたりしてわかりやすいのですが, 開発やメンテナンスがストップしており, またWebプロジェクトに組み込まないと利用できないことが ちょっ
こちらです ☞ JavaScript Libraries Playground(jQuery 2.1.0 と underscore の例) jQuery や underscore などの JavaScript ライブラリをインタラクティブに試したいとき、最近はブラウザで自分のブログ(ここ)や GitHub など、当該のライブラリがロードされていることを知っているページを開いておもむろに ⎇⌘J(Chrome)! していたのですがこれは直接的ではないなと思ってそれ専用のページを作った次第です。 冒頭の例にもあるように location.search 部に library[@version],… 形式でライブラリを与えてやればページに <script> 要素が追加されて、あとは開発者コンソールなりでお楽しみください、という仕組みになっています。 cdnjs にはかなり多くのライブラリがホストさ
/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license //@ sourceMappingURL=jquery.min.map */(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T
はてなブログって重いですよね~・・・ ブラウザ変えたら早くなるかなと思ってIE11、Firefox、Google Chromeで計測してみたけど、どれもそんなに差は出なくてどれも遅い(苦笑) いったい何が原因なのかなと調べていったら、JavaScriptのせいでした。 「もふぬこ戦記」のトップページを計測しました。 使用したのはGoogle Chromeのデベロッパーツール。 条件はJavaScriptオン、キャッシュオフです。 12.84秒でした。 次にキャッシュをオンにしてみます。 8.38秒です。 次にJavaScriptをオフ、キャッシュをオフにしてみます。 3.48秒! キャッシュオンの場合・・・ 746ミリ秒 JavaScriptをオフにするだけでサクサク快適動作します! 星つけたりできなくなるんですけど・・・(´~`;) ・・・あれ?JavaScriptエラー出てる気がするけ
JavaScriptのプログラミングに関するTips集。 主に中級レベルの話題とノウハウを掲載する。 なお,JavaScript初級〜中級をクイズ形式で網羅的に学習するためには,下記のエントリを参照。 JavaScriptの動かないコード (JavaScriptエラー集) http://language-and-engineering.hatenablog.jp/entry/20080912/1221297779 ※JavaScript以外のプログラミングについては,こちらを参照。 ピュアJSを極める: JavaScriptで,クラスを継承する方法 (複数のサブクラスから共通クラスのプロトタイプを参照する) JavaScriptでの例外設計 (throw,try-catch-finally構文のイメージと利用パターン) JavaScriptで,動的に追加されたイベントリスナの実行順序を保
Weblog Prototype 1.7.3 The new bugfix release of Prototype features lots of tiny fixes and one giant change under the hood. A foundation for ambitious web applications. Prototype takes the complexity out of client-side web programming. Built to solve real-world problems, it adds useful extensions to the browser scripting environment and provides elegant APIs around the clumsy interfaces of Ajax an
タイトルで嫌な予感がしてる人もいるでしょうが、ScalaがJSに変換されて動きます。やったぜ。 Scala.js http://www.scala-js.org/ 試す このサンプルプロジェクトを git clone するのが良いです。 sjrd/scala-js-example-app https://github.com/sjrd/scala-js-example-app サンプルコードはこんな感じ package example import scala.scalajs.js import js.Dynamic.{ global => g } object ScalaJSExample { def main(): Unit = { val paragraph = g.document.createElement("p") paragraph.innerHTML = "<strong>
home blog labs about contact JavaScript > JSLoader 作成: 2008-08-31T19:50:49+09:00 更新: 2008-08-31T19:58:38+09:00 これは何? 外部JSの読み込みを同期又は非同期に読み込みながら、間に処理を挟んだりするライブラリです。 依存関係のあるライブラリの読み込み、ブックマークレット、Greasemonkey、widgetの読み込み等に使う事が出来ます。 使い方 new JSLoder({ finish : function(){ alert('全ての読み込み完了'); } }) .next('first.js') .next(function(){ alert('firstの読み込み完了') }) .next('second.js','third.js') .next(function(){
このスクリプトは、C/C++のprintf関数が出力するような書式付き文字列を返す sprintfというfunctionオブジェクトを提供します。 このファイルをインクルードするかコピペして使ってください。 usage: sprintf(format[, arg1[, arg2...]]) 返り値 formatで指定した書式化された文字列。 書式指定 基本的にC/C++に準じています。 参照:Format Specification Fields: printf and wprintf Functions(MSDN) 動作確認はBorland C++ 5.5。 flagは'0'のみ。typeはd, f, e, E, sのみです。 flagは'-', '+', ' 'に対応しました(3/10/02)。 注意 スクリプトらしく、数値文字列などの自動変換を行います。 細かいところですが、f,
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く