タグ

JavaScriptとJavascriptに関するpocotan001のブックマーク (518)

  • 驚きいっぱいのJavaScript? - 風と宇宙とプログラム

    言語やインタフェースの設計には「驚き最小の原則」というのがある。まつもとさん人はそんなこと言っていないようだが、かつて、Rubyはその原則に沿った言語と言われていた。一方、JavaScriptはそれに反する言語と未だに見なされているようだ。多くの場合、よく理解していないのが原因である。理解した上でも、やっぱりおかしいよ、というのもあるかも知れないが、じゃ、その場合どう定義したらよいんだ、というのはいろいろ難しい問題がある。 wtfjs(http://wtfjs.com/)にはJavaScriptのそんな「変な挙動」が集められている。wtfなんてタイトルをつけているくらいなので、あまり真面目に見る必要はないのかも知れないけれど、主なものについて古い順から軽く解説してみた。ちなみに、wtfはWhat The F*ckの略。 typeof NaN === 'number' // true In

    驚きいっぱいのJavaScript? - 風と宇宙とプログラム
  • ハタさんのブログ(復刻版) : javascriptを初めて学ぶ人についてのおさらい。その2

    前回のエントリが700users突入しました。ありがとうございます。参考になれば幸いです。 ということで、その2になります。 前回書いた通り、C/Javaについてはある程度の知識がある人なので、クラスなどのオブジェクト指向はちゃんと理解されているようですが、プロトタイプ指向は初めて学ぶようです。 javascript(ECMAScript)のプロトタイプは他のプロトタイプ指向言語とはひと味違う動作をするので、その点も含めておさらい プロトタイプとはなんですか?プロトタイプとは継承パターンの一つでしかないです プロトタイプは単なる継承パターンであり、単一の方向への継承しか行わない点についてはクラスベースと同じです。 var Hoge = function (){}; Hoge.prototype.methodA = function (){ return "this is methodA

  • ハタさんのブログ(復刻版) : javascriptを初めて学ぶ人についてのおさらい。その1

    僕にも教える人ができた(? というか人にモノを教える立場)になったので、とりあえず、最近はもっぱらjavascriptを教えています。 もともとCやJavaなどについてはある程度の知識がある人なので、それを少しjs的な意味で、関数言語的な教えをやっている最中のメモ 変数って何ですか?変数って値もしくは式そのものに利便的な名前をつけているものです 次のhogeとfooは値をいれる箱ではなく、値そのものに別名(もしくは分かりやすい名称)を割り当てているだけに過ぎませんよ。 var hoge = 1; var foo = [1, 2, 3]; alert(hoge + 1); // 2 alert(foo[0]); // 1 alert(1 + 1); // 2 alert([1, 2, 3][0]); // 1 つまり、関数自体を変数に代入する事ができます。(functionとは特別な呼び名

  • JavaScriptでの開発の可読性を高める - toytools log

    これがベストプラクティスという訳ではありませんが、 JavaScriptで開発する際に可読性を高めるいくつかのポイントを示します。 ネームスペースを分ける クラス(prototype)を作るだけでなく、きちんとネームスペースを分けてパッケージを切りましょう。 たとえば、Connectというクラスがある場合testproject.util.io.Connectなどときちんとパッケージをきります。 全体のコードサイズが肥大化しても比較的可読性が失われずにすみます。 Javaのようにディレクトリ構造とパッケージ構造をあわせ、プログラムによって結合する事も有用です。 クラスの定義にJson形式を用いる クラスを作る際にJson形式を使うことは可読性をあげる上で有用です たとえば下記は var pt = Hoge.prototype; pt.method1 = function(){ } pt.me

    JavaScriptでの開発の可読性を高める - toytools log
  • JavaScriptのprototypeプロパティに対する理解 - 犬も歩けば棒も歩く

    prototypeに対する理解を深めるために少し考えてみた var obj = {}; var func = function(){}; alert(obj.prototype); //undefinedと出力 alert(func.prototype); //[object Object]と出力 まずprototypeプロパティを出力してみる。obj(普通のObject)の場合、undefinedと出力される。つまりprototypeというプロパティ自体もっていない。これに対してfunc(普通のfunction)の場合、prototypeはObjectになる。ここで、prototypeに指定されたオブジェクトはプロトタイプオブジェクトと深い関わりがある。順を追って説明する。 JavaScriptにはプロトタイプチェーンという仕組みがある。このプロトタイプチェーンの仕組みは全てのオブジェク

    JavaScriptのprototypeプロパティに対する理解 - 犬も歩けば棒も歩く
  • メンテナンスフリー!郵便番号から住所を返すライブラリ·ajaxzip3 MOONGIFT

    Webシステムを開発している中で郵便番号を入力したら自動的に住所を補完して欲しいという要望は多々ある。実装はそれほど難しいものではない。厄介なのはメンテナンスだろう。市区町村の統廃合によってデータが変わった場合の対応だ。 郵便番号から住所に変換する便利なライブラリ 郵便局から配布されているCSVを都度取り込むという方法もあるが、非常に面倒だ。そこで使ってみたいのがajaxzip3だ。 今回紹介するオープンソース・ソフトウェアはajaxzip3、Ajaxを使って住所を取得するライブラリだ。 ajaxzip3の面白い所はライブラリをGoogle Code上にアップロードしてそのまま利用できてしまう点だ。規約上どうなのかという問題はあるが、そのまま使うと自分でメンテナンスする必要が全くなくなってしまう。自分のサーバであってもajaxzip3を外部のSubversionリポジトリからアップロードす

    メンテナンスフリー!郵便番号から住所を返すライブラリ·ajaxzip3 MOONGIFT
    pocotan001
    pocotan001 2010/02/17
    便利な世の中になりました。
  • JavaScript奇妙なふるまいまとめサイト | エンタープライズ | マイコミジャーナル

    This is a collection of those very special irregularities, inconstancies and just plain painfully unintuitive moments for the language of the web. 主要なすべてのWebブラウザはJavaScriptエンジンを搭載している。JavaScriptを含んだページをアップしさえすればブラウザ側で動作する。何らかのWebサービスを組み合わせてればそれだけで別のサービスを提供するページを作れる。ブラウザにおけるJavaScript実行性能は日進月歩で高速化しており、WebページやWebアプリケーションを作成する言語として日々その重要性が高まっている。 扱いやすい言語ではあるが、眉を寄せたくなることが多い言語でもある。その不可解で理解しにくい挙動に悩まされたプ

  • [jetpack] マシンをぶったたくとタブが移動するJetpack - smellman's Broken Diary

    まだ未完成だけど、コードだけさらしておきます。 var x = 0; var y = 0; function orientTest(ori){ let div_x = x - ori.x; let div_y = y - ori.y; if (div_x > 0.2) { jetpack.tabs.focused.raw.ownerDocument.defaultView.gBrowser.mTabContainer.advanceSelectedTab(1); } else { } x = ori.x; y = ori.y; } jetpack.tabs.focused.contentWindow.addEventListener("MozOrientation", orientTest, true); console.log(jetpack.tabs.focused.contentWi

    [jetpack] マシンをぶったたくとタブが移動するJetpack - smellman's Broken Diary
    pocotan001
    pocotan001 2010/02/16
    うちにもMacbookがあればぶったたけたのになぁ。
  • ゆーすけべー日記

    サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ

    ゆーすけべー日記
    pocotan001
    pocotan001 2010/02/15
    わーお
  • JavaScript 用デバッグコンソール "IEerBug" [tech.nitoyon.com]

    IEerBug は Internet Explorer 6.0 と FireFox 1.5 で動く JavaScript 用のデバッグ コンソールです。 FireBug と同じ console.log()、console.debug() などの関数が使えるようになるため、FireFox と IE の両方でデバッグする場合に便利です。コンソールに出力したオブジェクトを、DOM インスペクタを利用して解析することも可能です。 使い方 ieerbug.zip をダウンロードし、中身をアプリケーションのディレクトリに配置します。IEerBug 用のディレクトリを作成して、その中に配置しても問題ありません。 HTML の中で次のようにして ieerbug.js を読み込みます。

    JavaScript 用デバッグコンソール "IEerBug" [tech.nitoyon.com]
    pocotan001
    pocotan001 2010/02/12
    IE6のデバッグ。
  • JavaScript/DOM » 基本 » 配列の書き方 | PHP & JavaScript Room

    PHPJavaScriptCSS、Webページ埋め込みによる音声・動画配信方法など、実用的なプログラミング・テクニックを解説【書き方1】 配列名 = new Array(要素数); 配列名[0] = "要素1"; 【書き方2】 配列名 = new Array("要素1","要素2","要素3",…,"要素n"); 【書き方3】 配列名 = ["要素1","要素","要素3",…,"要素n"]; 配列の値が文字列の場合は、引用符で括ります。 配列の値が数値の場合は不要です。 あらかじめ配列の要素数を指定する場合は、配列名 = array(要素数)とします。 要素数の指定を省略した場合は、自動的に要素の数に合わせて配列の大きさが変化します。 JavaScriptで配列を作成する場合、new演算子でArrayオブジェクトを生成します。 ただし、配列名 = ['要素名1', ...

  • JavaScriptを使って実現した面白サイト集:phpspot開発日誌

    Mind-blowing JavaScript Experiments|INSIC DESIGNS JavaScriptを使って実現した面白サイト集。実用的かどうかという点では?ですが、JavaScript を使った面白いサンプルサイトが色々と紹介されていました。 JavaScript の可能性を知るという意味で一度見ておいた方がよいです。JavaScript が遅いブラウザだと固まってしまう恐れがあるので Chrome などで新しい窓で見た方がいいです。 Twitch 複数ウィンドウを駆使したゲームっぽいもので、新しい使い方に驚きます Ball ボールが飛び跳ねるサンプル。Flashかと思いましたが、Chromeで動かすとここまで高速に動くことに驚き Ball Pool 右クリックでボールが新しくあらわれてボールで埋め尽くされます。物理エンジンで制御されてるっぽくて触っていて面白い De

  • REAS.com is a database for Casey REAS

    TWITCH is a series of minimal, one-button games. Play TWITCH © 2001–2023, Casey Reas

    pocotan001
    pocotan001 2010/02/09
    ゲームっぽい好き。
  • inputlog - JavaScriptでの1文字変数名の慣習

    プログラム言語には仕様にはないけど、多くのプログラマーが同じように書いている慣習があります。その中で1文字の変数名とその意味を集めてみました。(間違っていたり、これが抜けてるよ!などありましたらコメントでご指摘いただけるとうれしいです) a: 一時的な配列(Array) e: イベント [thx:javascripterさん] i: ループの中のカウンター(indexの頭文字) j: ループを2重、3重にする場合、アルファベットを順番でj,k..とiの代わりに順番に利用 k: ループを2重、3重にする場合、アルファベットを順番でj,k..とiの代わりに順番に利用 n: 一時的な数字(Number) o: 一時的なオブジェクト(Object) s: 一時的な文字列(String) x: x座標 y: y座標 $: document.getElementById()に相当する機能を持つfunc

  • CSSとJavaScriptを巧みに使用した面白いデモンストレーション -PushingPixels

    PushingPixelsからPNG画像の影をコントロールするデモとアニメーションで二つの画像を表示するデモを紹介します。 dynamic PNG shadow 「dynamic PNG shadow」では左下のスイッチをオンにすると、その光源の位置に従ってロゴに影が表示されます。 また、ロゴと光源はマウスのドラッグ操作で移動させることができます。 Animated HDR Photo 「Animated HDR Photo」では真ん中のスライダーを移動させることで、二つの画像のビフォーアフターを表示することができます。 スライダーはアニメーション動作に対応しており、画像の任意の場所をクリックするとそのポイントにアニメーションでスライドします。

  • jQuery1.4の新機能を1.4だけに14個 - KAYAC Engineers' Blog

    時が経つのは早いもので、ぼーとしてたらもう1月も終わりそうですね。外村です。 先日リリースされたjQuery1.4で新しく追加されたメソッドや新しい使い方ができるようになった機能を全部ではないですがいくつか紹介します。以下に変更点が全て掲載されているのでそちらも参照するといいと思います。 Version 1.4 ? jQuery API 新規で追加されたメソッド 1. nextUntil()、prevUntil()、parentsUntil() 指定したセレクタまでの要素を返します。以下の例ではitem3とitem4の後ろにテキストが追加されます。 <ul> <li id="item1">item1</li> <li id="item2">item2</li> <li id="item3">item3</li> <li id="item4">item4</li> <li id="item5

    jQuery1.4の新機能を1.4だけに14個 - KAYAC Engineers' Blog
  • MdN Design|総合情報サイト

    第5回「パワフルなCSS/JavaScriptテクニック45」 2010年01月25日 翻訳元サイト:Smashing Magazine http://www.smashingmagazine.com/ 原文:45 Powerful CSS/JavaScript-Techniques http://www.smashingmagazine.com/2010/01/12/45-powerful-css-javascript-techniques/ 著者:Smashing Editorial 翻訳:中野恵美子 ※記事は「Smashing Magazine」様より許可を得て翻訳、掲載しています CSSJavaScriptはデザイナーやディベロッパーにとって、極めてパワフルなツールだ。しかし、使いこなすためのアイデアを得るのはなかなか難しい。ただ、デザイナーやディベロッパーはほとんど毎日、新し

    MdN Design|総合情報サイト
  • javascriptプログラマのレベル10 : tech.kayac.com - KAYAC engineers' blog

    週末料理をしていて足を切ってしまいました。agoです。 以前Perlは書いていたんですが、その頃以下の記事を読んで非常に感銘を受けました。 Perlプログラマのレベル10 - Perlプログラミング救命病棟より - naoyaのはてなダイアリー 当時あまりコミュニティとのつきあいがなかったので、「自分のスキルの絶対位置」、「次のレベルへ行くために必要なもの」を知ることで非常に安心感を感じた記憶があります。 いま確認したところ、「JavaScriptプログラマのレベル10」はないようなので書いてみました。 Perlプログラマ Schemeプログラマ Rubyプログラマ (家に直接リンクできるURLが無かったため、参照ページへリンクしています) haskellプログラマ 堕落したCプログラマ HTML知識レベル プログラマレベル 企業法務 JavaScriptの業務スキルレベル 判別表 (5

    javascriptプログラマのレベル10 : tech.kayac.com - KAYAC engineers' blog
    pocotan001
    pocotan001 2010/01/20
    IE爆発しろ!