タグ

javascriptに関するsoh335のブックマーク (235)

  • JavaScript ことはじめ

    JavaScript の基をまとめておきます。 値そのものの真偽 number 型の真偽は非0値なら true、0値なら false。 string 型の真偽は1文字以上あれば true、0文字の場合は false。(文字列"0"も true) null 値・undefined 値・NaN 値の真偽は、常に false。 null でないオブジェクトは、常に true。 変数の型変換: 変数を string 型化:『X+""』 変数を number 型化:『X-0』(true 値は1、false 値は0扱い) 変数の先頭にある数字のみを number 型化:『parseInt(X)』 変数をbool化:『!! X』 X typeof X 真偽 ! X !! X X+"" X+0 X-0 parseInt(X) 比較演算子『==』『!=』は、基的にnumber型として比較される。 str

    soh335
    soh335 2011/01/28
    javascriptの真偽表
  • YappoLogs: iPhone で position:fixed な UIToolBar を簡単に作る jquery.mobile.iscroll.js を作った

    « iPhone とかの フリックで操作するカルーセル UI を jQuery mobile で作ってる話 (jquery.mobile.carousel) | Main | FizzBuzz最短回答 もしくは Yahoo!Japan 入社課題提出エントリ » iPhone で position:fixed な UIToolBar を簡単に作る jquery.mobile.iscroll.js を作った iPhoneのWebサイトを作っていて、良くあるアプリの上と下の position:fixed なメニューを実装しようとした時に、iScrollを使えばわりかし楽に実装出来ます。 jQuery mobile (1.0a2) を使ってると header/footer 要素に data-position="fixed" を書いておけばそれっぽい動きになるんですが、スクロールイベントを受け取るた

  • JSDeferredの動きを追ってみた - Pixel Pedals of Tomakomai

    JSDeferredを使ってみたメモです。動きがわかれば、使うときに気をつけなきゃならないツボがわかるようになります。 なお、詳しい解説は家をどうぞ。 JSDeferredはどんなもの? チュートリアル的ではなく、このフレームワークの基中の基を最初に見ておきます。 JSDeferredでは、処理を数珠つなぎにして実行できます。以下、実用的にはまったく役に立ちませんが、このフレームワークの基中の基となります。 // Deferredを作る var d1 = Deferred(); // 処理をつないでいく var d2 = d1.next(function () { alert("d2"); }); var d3 = d2.next(function () { alert("d3"); }); // 発火すると全部走る d1.call(); ただ、これではまったく非同期性がありませ

    JSDeferredの動きを追ってみた - Pixel Pedals of Tomakomai
  • 関数 - MDC Doc Center

    一般的に言うと、関数とは外部 (再帰の場合は内部) から 呼ばれる ことのできる「サブプログラム」です。プログラムそのもののように、関数は関数体と呼ばれる連続した文で構成されます。値を関数に 渡す 事ができ、関数は値を返す事ができます。 JavaScript において、関数は第一級オブジェクトです。すなわち、関数はオブジェクトであり、他のあらゆるオブジェクトと同じように操作したり渡したりする事ができます。具体的には、関数は Function オブジェクトです。 より詳細な例や解説については、JavaScript の関数のガイドを参照してください。 解説 JavaScript における全ての関数は、実際には Function オブジェクトです。Function オブジェクトのプロパティとメソッドについての情報は Function をご覧ください。 初期値以外の値を返すためには、返す値を指定

    関数 - MDC Doc Center
  • JavaScript HTMLテンプレートエンジン SNBinder 公開

    先日予告したSNBinderのオープンソース化、GitHubに簡単なREADME付きでアップロードしたのでご覧いただきたい。 https://github.com/snakajima/SNBinder SNBinderは、ひと言で言えば「ブラウザー上でView(テンプレート)とData(JSON)を結合して HTML を生成するテンプレートエンジン」である。 90年の半ばから急速に広まったインターネット。サーバー側でダイナミックに生成したHTMLページをブラウザーで閲覧するだけ、というシンプルでエレガントなアーキテクチャゆえの成功だ。しかし、ブラウザーの高機能化に伴い、JavaScriptを駆使して使いやすさを向上しようという試みが色々なウェブサイトで行われている。GMail、Google Docs、Facebookなどは良い例だ。 その方向性を究極にまで突き詰めると、サーバー側は(MVC

  • githubのアレ(history.replaceStateとかhistory.pushStateの話) - 愛と勇気と缶ビール

    会社で下の記事についてリマインドしてもらって、なんとなく気になっていたことを調べたメモ。 http://webtech-walker.com/archive/2010/12/06160539.html 記事を読んで、history.replaceState(null, "title", "/new.html") とかやると遷移なしでページのcontentも勝手に置き換わるのかなー、だったらあのアニメーションはどこで発火してんだ?とか考えていたがそもそもreplaceStateの動作について勘違いしていた。 要は、次のようなhtml書いてボタンをクリックしても、historyの先頭が置き換わるだけでページ自体には何も起こらない。(ただしlocation.hrefは置き換わっており、reloadすると/replace.htmlにいく) <!DOCTYPE HTML> <html lang="e

    githubのアレ(history.replaceStateとかhistory.pushStateの話) - 愛と勇気と缶ビール
  • 補足:githubのアレ(history.replaceStateとかhistory.pushStateの話) - Webtech Walker

    以下の記事にgithubのhistory.replaceStateについて書かれてるのですが、一点補足しておきます。 githubのアレ(history.replaceStateとかhistory.pushStateの話) - 愛と勇気と缶ビール 補足の前に。 さらに、この記事を読んだ時「ChromeやSafariやFirefox4でパンくずリストやプロジェクトに含まれるファイル名をクリックするとズビビッとスライドしてDOMが置き換わるアレがreplaceStateを使っているのだろう」と思っていたけどそれも違った。replaceStateが使われているのは別の場所。 たしかにDOMの更新につかってるのはreplaceStateじゃなくてpushStateのほうなので僕の以前のエントリーが間違ってますね。すいません。 題の補足は以下。 pushStateでhistoryにリンクのURLを

    補足:githubのアレ(history.replaceStateとかhistory.pushStateの話) - Webtech Walker
  • JavaScriptの最適化について、code.google.comの記事の適当訳 - それ図解で。・・・tohokuaikiのチラシの裏

    GoogleがWeb全体のスピードアップにいよいよ格的に着手, 一社だけではできないと強調 からリンクのあった、 http://code.google.com/intl/ja/speed/articles/optimizing-javascript.html が日語かと思ったら日語じゃなかった・・・・。 いやー、意外とというか文字列については、全然知らんかった。 Closureって便利だし、「おぉ〜俺って使ってるジャン」みたいな気になれるからついつい使っちゃうんだけど、高コストなのね・・・・。反省。 ということで、超適当翻訳。どっかの誰かが書いてるかも。 前おき 著者: Google Chromeエンジニア Gregory Baker, Software Engineer on GMail & Erik Arvidsson 推奨される経験:JavaScriptの実践的な知識 クライ

    JavaScriptの最適化について、code.google.comの記事の適当訳 - それ図解で。・・・tohokuaikiのチラシの裏
  • 2分でわかる uupaa.js の Debug Navigation :: handsOut.jp

    スライド1: 2 分でわかる uupaa.js~ Debug Navigation ~uupaa.js@gmail.com スライド2: まず スライド3: 階層ナビゲーション• スタックトレースを表示する機能– Firebug などに搭載されている– 今日の主役は、この「ナビ子」さん スライド4: uupaa.js と ナビ子function xboot(uu) {}uu.css.size.get(uu.id("id"));• ナビ子「今ここよ」• ユーザ「ありがとう」uucsssizeget < xboot < _fire スライド5: $(function() {});jQuery と ナビ子$("#id").width();• ナビ子「今ここよ」• ユーザ「…え ? 」• ナビ子「え ? 」curCSS() < (?)() < each() < getWH< css() <

  • Function.prototype.bindは何がいいのか - 枕を欹てて聴く

    ES5からFunction.prototype.bindが入りました. これに準ずるものは数々のFrameworkで提供され続けてきたので, あまり馴染みの無さはないのではないでしょうか. このFunction.ptototype.bindは実はとても面白いので. 結論から言えば, Function.prototype.bindはtarget functionのConstructに完全に移譲するのでConstructorの引数束縛が行えます. またConstructor callに対して配列を渡すapply形式のものといったapplyConstructorやcallConstructorをbindを使って実装することができます. 基 Function.prototype.bindは基的にはthisとargumentsに特定の値を束縛する関数です. bindは第一引数にthis, 次から

    Function.prototype.bindは何がいいのか - 枕を欹てて聴く
  • jQuery Mobile リファレンス的なもの - へっぽこプログラマーの日記

    jQuery Mobile のリファレンス的なものを作りました。 取り敢えず叩き台で、ツッコミなどあればコメントください! ※RC2版に対応しました Page 要素 属性 値 概要 div data-role page ページ 設定 値 既定 備考 data-fullscreen boolean false フルスクリーン表示(ヘッダーとフッターでdata-position="fixed"を指定する必要がある) data-add-back-btn boolean false 戻るボタンの自動生成 data-back-btn-text 任意 "Back" 自動生成された戻るボタンのテキスト data-keep-native 任意 ネイティブで利用するUIをセレクターで指定する data-dom-cache boolean false ページをキャッシュする data-theme 任意 c テ

    jQuery Mobile リファレンス的なもの - へっぽこプログラマーの日記
  • 依存関係解消の非同期ロードと欠落の可能性&UI部品の遅延ロードについて | TwitScratch

    LAB.js の依存性を解決して非同期読み込みって、uupaa.js の ver 0.5 とかその辺で実装してた機能なんだけど、「これでは解決できない問題がある」って捨てた機能ですね。たしか、サーバAがだめならサーバBからDOWNLOADを試すとかそんな機能も付けてたはず

  • Express - Node.js web application framework

    Express 5.0 beta documentation is now available. The beta API documentation is a work in progress. For information on what’s in the release, see the Express release history. Web Applications Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. APIs With a myriad of HTTP utility methods and middleware at your dis

  • CSS/JavaScriptのAsynchronous Loadingをめぐる熱い論議 | ゆっくりと…

    2011年2月21日 追記 $script も新規参戦してきました。高々 643 バイトで、非同期読み込みや依存性の制御などができるそうです。いずれ紹介したいと思います。← 「新参の超軽量JavaScript非同期ローダー3種を徹底比較」で紹介しました! これらのローダーのうち、LABjs の作者が 「On Script Loaders」 で HeadJS と ControlJS について意見をしていて、面白そうです。そのうち日語訳や各ローダーの比較を行ってみたいと思います。 ローディング・スクリプトをめぐる議論 さてさて、エントリーの題は前述のローダーではありません。「Prefer asynchronous resources」 や Google Analytics のスニペット に示されているような、ローディング・スクリプトの変遷をまとめてみます。 これらのスクリプトのごく初期は

  • githubがhistory.replaceState使ってた - Webtech Walker

    JavaScriptでhistory.pushStateとhistory.replaceStateっていう履歴管理のための仕様があるんですけど、これを使うとlocation.hashを使って実装しているような、ページ遷移をしないでコンテンツを入れ替える(Twitterの新UIみたいな)ものを実現できます。 5.4 Session history and navigation — HTML5 Manipulating the browser history - MDC Doc Center で、これを実際使ってるところは見たことなかったんですけど、githubがいつの間にか使ってました。適当なリポジトリに入ってhistory.replaceStateをサポートしてるブラウザ(現時点ではchromeかsafari)で見るとページ遷移なしで動いて、切り替わるときにURLが書き換わってるのがわかる

    githubがhistory.replaceState使ってた - Webtech Walker
  • Test::QUnit - mozrepl経由でコマンドラインからJavaScriptのテストを実行する - 愛と勇気と缶ビール

    マクラ - JavaScriptのテストについて テストのないコードはコードではなく、テストを書かないプログラマはプログラマではなく、テスティングフレームワークのない言語は言語と呼ぶに値しない。と以上のような偉そうなことを言う資格は全くないし狂信的でもない僕ですが、少なくともまともに動くコードであることを証明するために、人並みにはテストを書きます。 それでまあ、最近JavaScriptばかり書いてるのですが、JavaScriptのテスティングフレームワークって大体以下のようなものに分かれると思っています。 ブラウザ上で動かすことを前提としたもの(JsUnit, QUnitなど) RhinoやSpiderMonkeyなど、ブラウザから独立したJavaScriptエンジンで実行することを前提としたもの(JsUnit, QUnit-TAPなど) 2. に加え、env.js(http://www.

    Test::QUnit - mozrepl経由でコマンドラインからJavaScriptのテストを実行する - 愛と勇気と缶ビール
  • Titanium - JavaScript で iPhone/Android アプリを作る - naoyaのはてなダイアリー

    Titanium Mobile は JavaScriptiPhone/Android のアプリ (not Webアプリ) を開発できる開発環境。詳しくは Titaniumで始めるモバイルアプリ作成の基礎知識 (1/3):Web技術でネイティブアプリを作れるTitanium(2) - @IT などに解説があります。 少し時間があったので、JavaScript で作るというのがどんな感じか試してみました。作ったアプリは こんな感じで TableView があり、選択すると WebView でアプリ内ブラウザが立ち上がる、ブラウザはツールバーで「戻る」や「リロード」が可能。あとはタブコントロールがあったり・・・という単純なもの。初期起動画面のサイトリストは、HTTP でローカルに立てたサーバーから JSON で読み込んでいます。 Web上のドキュメントを見ながら2, 3時間試行錯誤で一応の

    Titanium - JavaScript で iPhone/Android アプリを作る - naoyaのはてなダイアリー
  • keyイベント(keypress,keyup,keydown)の確認

    keypress,keyup,keydownイベントの発生パターンを確認するためのページです。 確認したいイベントをチェックし、テキストボックスに入力してください。 →Blogへ戻る keypress keyup keydown typekeyCodealtKeyctrlKeyshiftKeyvalue

    soh335
    soh335 2010/10/07
    便利!
  • shin3tky blog: IME と key イベント

    2008年8月5日 IME と key イベント テキストボックスで Enter キーを押下すると処理が実行されるようにしたい場合、日語 IME の変換確定の Enter で処理が実行されないように気を遣う必要があります。 TextBox の keydown, keypress, keyup イベントを調べてみると、Internet Explorer と Firefox とでは挙動が違うことが分かります。 Internet Explorer 7 で「あい」を入力した場合。 typekeyCodealtctrlshiftvalue keydown229falsefalsefalseあ keyup65falsefalsefalseあ keydown229falsefalsefalseあい keyup73falsefalsefalseあい keydown229falsefalsefalseあい

  • jQT

    jQT A Zepto/jQuery plugin for mobile web development on the iPhone, Android, iPod Touch, and other forward-thinking devices.

    jQT