タグ

Javascriptとstudyに関するbartleby0911のブックマーク (29)

  • JavaScriptで、メソッドをコールバックとして渡す方法(コールバック関数でthisをbindさせる方法) · DQNEO日記

    Home Subscribe var obj = { name : 'pikachu', say : function(){ alert('I am ' + this.name); } } setTimeout(obj.say, 1000); // => 'I am'とだけ表示される。 これは期待通りに動いてくれません。 コールバックとしてメソッドを渡した場合、それはオブジェクトと切り離された単なる関数(メソッドではない)となってしまうのです。 つまり下記と等価なのです。 setTimeout( function(){alert('I am ' + this.name);} , 1000); 関数がオブジェクトと切り離されているため、このthisはグローバルオブジェクト(windowオブジェクト)を指してしまっており、'I am'とだけ表示されます。 ではどうすればよいでしょうか? bin

  • javascriptの関数が変態すぎる

    はじめての海外旅行!3週間行って帰ってきた全体の感想編! はじめに 5/19-6/6 の約3週間でポーランド・イギリス・ドイツを訪れる海外旅行に行きました。 このブログは、この期間を通して何を感じたとかそういいう内容のブログです。 それぞれの地域で何をしたかとかのブログは半分くらい書けていないんですが、写真を見返しなが…

    javascriptの関数が変態すぎる
  • Feelingplace

    the study guide Photo by Nadiaux 告白します。 Apphtmlが公開されたのが確か2010年の9月。 選択した文字からApp紹介のHTMLを自動生成するBookmarklet | 普通のサ […]

    Feelingplace
  • 細かいJavaScriptの仕様や習慣やテク集 - 三等兵

    気づいたことやミスしたことなどメモしていたので確認作業。細かい仕様だったり暗黙のルールだったり、テクニックだったり。JSに慣れていたら当たり前なことばかりかもしらん。 追記のところはid:os0xさんより。ありがとうございます! undefined var a; alert(a) // undefined 宣言だけだとundefined。undefinedというのは、宣言している変数に値が入っていませんよ、ということ。 そしてオブジェクトには無いプロパティとか参照すると出てくる。 var a = 100; alert(a.length); // undefined さらに引数も。 function func(val) { alert(val); } func() // undefined 引数はCallオブジェクトってのに格納される。このオブジェクトはローカルの変数が格納されるオブジェクト

    細かいJavaScriptの仕様や習慣やテク集 - 三等兵
  • マンガで分かる JavaScriptプログラミング講座

    はじめに 「マンガでわかるJavaScript」は、難しそうに思えるプログラムを、簡単そうに見えるマンガで解説するという初心者向けの入門講座です。 架空の高校生たちに教える形式で、プログラムの基礎から応用を、解説していきます。一通りのマンガを読めば、かなり実践的なところまで、プログラムを書けるようにしていきます。 (マンガは、左上から右下へと読みます) プログラムというと、けっこう大変そうに思えますが、この講座のテーマは「面倒くさいことを楽にする」です。面倒臭がりで、手抜き大好きの女子高生を主人公にして、楽しくプログラムを学んでいくことにします。 主な対象読者は「これからプログラムを学んでみたい人」「Webの世界に関わっていてJavaScriptを学んでみたい人」「昔JavaScriptを触っていたけど最新のトレンドが分からないので改めて学んでみたい人」などです。初心者だけでなく、Webデ

    マンガで分かる JavaScriptプログラミング講座
  • 連載:Ajax時代のJavaScriptプログラミング再入門 ― @IT

  • FAQ形式によるJavaScriptの本質がわかる超入門 - 風と宇宙とプログラム

    はじめに JavaScriptは簡単な言語のようでいて、実は奥が深く、初心者にとってなかなかその質がわかりにくい言語です。ここでは、JavaScriptの言語的エッセンスを理解できるようなものをFAQ形式で書いてみました。ご意見や誤り等を指摘してもらえたら嬉しいです。 なお、JavaScriptの標準化であるECMAScriptは、今年末にEdition 5 がリリースされる予定です。このFAQは、現在のバージョンであるEdition 3をベースにしています。 ECMAScriptって何ですか? ECMAはEuropean Computer Manufacturer Association(欧州電子計算機工業会)の略で、標準化団体です。NetscapeのJavaScriptMicrosoftのJScriptをベースに、純粋なプログラム言語部分を抽出したものをECMAで標準化したスクリプ

    FAQ形式によるJavaScriptの本質がわかる超入門 - 風と宇宙とプログラム
  • 0xFF

    突然ですが、API Expertを卒業しました。 ちょうど3年前 (さっきまで素で2年前だと思ってたけど、どう見ても3年前だった…)にAPI Expertなってから、Googleの皆様、他のAPI Expertの皆様には大変お世話になって来ました。ただ、私の方はお世話になってばかりで、API Expertとしての活動を思うように行えていない状態が続いていました。さらに、最近個人的な事情(会社とも関係ありません)で、なおさら時間を取れない状態になったので、この機会にAPI Expertを退任するという決断をしました。 今までお世話になった分、今後もできる限り貢献できることがあれば貢献したいと思っていますが、まずは個人的な事情の方を整理してからと思っています。落ち着いたら報告できると良いですね。それでは。 高校2年くらいのときにマルイのセールでコムサの長財布を買ってから、12年くらい使い続けて

    0xFF
  • [戯] target="_blank" を使わないで新しいウィンドウでリンクを開く方法

    target="_blank" を使わないで新しいウィンドウでリンクを開く方法 2006-03-14-5: [JavaScript] <a href="foo.html" target="_blank">foo</a> を使えば新しいウィンドウでリンクが開きますが,これは XHTML 1.1 や XHTML Basic では採用されていません. ではどうするかというと,スクリプトを使うわけですが, <a href="javascript:void(0)" onclick="window.open('foo.html');">foo</a> こうすると,一見解決したようですが,JavaScript が off の場合はリンク先に飛べません. しかも,ステータスバーにリンク先が出ないので不安になります.これを <a href="foo.html" onclick="window.open('f

  • JavaScript例文辞典

    ■基 [01]JavaScriptを定義する [02]外部JavaScriptファイルを読み込む [03]スタイルシートを定義する [04]NN3、NN4、NN6、IE4.x、IE5.xで動作するように記述する [05]NN4でのみ動作するように記述する [06]NN6でのみ動作するように記述する [07]IE4.x以上で動作するように記述する [08]IE5.x以上で動作するように記述する [09]IE5.5以上で動作するように記述する [10]ビヘイビアファイルを読み込む [11]IEとNN両方で動くように記述する [12]連続して関数を呼び出す [13]MacOS Xかどうか判別する [14]Safariのみ動作するように記述する [15]Safariのバージョンを返す [16]Operaのみ動作するように記述する ■構文 [01]変数に文字や数値を入れる [02]四則演算を行う

  • とほほのCookie入門 - とほほのWWW入門

    Cookieの概要 Cookie情報が保存されるファイル Cookieの実行例 Cookieの設定 Cookieの書き込み Cookie書き込みの例 Cookieの読み込み エンコードとデコード Cookieに関するQ&A Cookieの語源は何ですか? Cookieで複数の値を設定するには? Cookieを削除するには? Cookieの有効期限を無期限にするには? path=/ とすると、そのサーバー上のすべてのファイルに対して送信されるの? Cookieをフォルダ単位ではなく、ファイル単位に設定することはできますか? escape()でエンコードされたUnicodeをCGIでシフトJISにデコードするには? Cookieの概要 Cookie とは、以下のようなことを実現するための機構です。 訪問者がそのページに何回訪れたか記録して表示する。 通常モード、フレームモードなど、訪問者の好み

    bartleby0911
    bartleby0911 2009/03/09
    無期限という指定はできないようです。2038年以降の日付をうまく扱えないシステムもあるので、2030年頃の日付を指定しておきましょう。
  • HTTPリクエスト・レスポンスヘッダとは? - OKWAVE

    META要素は、その文書に関する情報(メタデータ)を定義するものです。意味は色々あります。 http://www5d.biglobe.ne.jp/~quia/tech/html/meta.html その色々あるメタデータのうち、http-equiv属性を指定したものはそのメタデータをHTTPレスポンスヘッダに反映させる(出力する)ことになっています。例えば <META http-equiv="content-type" content="text/html; charset=Shift-JIS"> とあれば、ウェブサーバはレスポンスヘッダに content-type: text/html; charset=Shift-JIS を出力してくれるわけです。ただし、ウェブサーバによってはこの機能をサポートしていません(結構こういうサーバが多いです)。 そのため、一部のブラウザ(というか主要なブラ

    HTTPリクエスト・レスポンスヘッダとは? - OKWAVE
    bartleby0911
    bartleby0911 2009/03/09
    HTTPリクエスト・レスポンスヘッダとは? META要素は、その文書に関する情報(メタデータ)を定義するものです。意味は色々あります。色々あるメタデータのうち、http-equiv属性を指定したものはそのメタデータをHTTPレスポ
  • 404 Blog Not Found:アマグラマーのすすめ - 目次

    2007年11月24日20:00 カテゴリアマグラマーのすすめ アマグラマーのすすめ - 目次 完成まで毎日更新予定 - なかなか毎日更新とは行かないのはスルーしていただく方向で。 はじめのはじめ はじめに プログラムって何さ? 世界は言葉で出来ている 下ごしらえ プログラムの言の葉 美徳その1:怠慢 美徳その2:短気 美徳その3:傲慢 「アマグラマーのすすめ」カテゴリの最新記事

    404 Blog Not Found:アマグラマーのすすめ - 目次
  • 「やる」と「やっておく」の違い : 404 Blog Not Found

    2009年02月28日18:00 カテゴリArtLightweight Languages 「やる」と「やっておく」の違い 相変わらずうまいなあ。 ユーザーは狭く見る - レジデント初期研修用資料 Chrome の速さだとか、Gmail の軽さみたいな感覚を、もうすこしきれいに言語化できると、幸せになれる人が多いと思うんだけれど。 というわけで、それを言語化する試み。日語だけじゃなくてJavaScriptとかも混じっちゃったけど。 何かをお願いしたあと、たぶんたいていの上司は、その人が視界から消えるまでの時間でもって、その人の「使える度」を判断する。 実は我々はすべて自分のパソコンの上司どころか王様で、そしてパソコンは部下どころか奴隷である。そして、その奴隷をいかに「使えるようにする」かがプログラマー仕事。 「まじめなグズ」は、まじめだから、上司がいる目の前で、問題の検討を行って、分か

    「やる」と「やっておく」の違い : 404 Blog Not Found
  • スタイル - 素人がプログラミングを勉強していたブログ

    最近はこう書いている。 /* copyrightやlicense情報は必要だったら最初に複数行コメントで書く */ // グローバル変数を初めにvarで宣言する var global = window; // 関数を使用する前に関数体を書く function times(func, n, self) { // var宣言は最初に書く。 var i; if (!self) self = global; // 式が一つの場合、一行で書く for (i = 0; i < n; ++i) { // 必要がない場合、i++ではなく++iとする try { func.call(self, i); } catch (error) { if (error instanceof global.StopIteration) { break; } else { // elseが必要な場合、ブレースは必ず付ける

    スタイル - 素人がプログラミングを勉強していたブログ
    bartleby0911
    bartleby0911 2009/01/23
    スマートなコードの書き方
  • 関数、オブジェクト、クロージャ - FAX

    (thanks to id:koyachi、del.icio.us/rtk2106) OOPとFPと。関数、オブジェクト、クロージャの使い分けについて考えます。 関数型が良いのか、オブジェクト指向が良いのか、知りたいと思っていました。色々なページを読み、現時点で一応の答えを得ました。 カウンタを例にして、関数、スコープ、オブジェクト、クロージャの順に見て行きます。関数関数は処理です。入力と出力があります。関数型プログラミングでは、関数同士の入力と出力を連結しプログラムが構成されます。 var current = 0; function next(v){ return v + 1 } function previous(v){ return v - 1 } ok( 1 == ( current = next(current) ) ); ok( 2 == ( current = next(cu

  • JavaScriptの巧い書き方 - Archiva

    Make a note of it: Web tech, montaineering, and so on. Note: この記事は、3年以上前に書かれています。Webの進化は速い!情報の正確性は自己責任で判断してください。 Webに言語は数あれど、特に玉石混淆の激しいJavascriptの書き方について纏めてみた。間違い指摘大歓迎! 発端はYahoo!の Eric Miraglia による、YUI 式モジュールの作り方をまとめた記事。ざっくりまとめると、以下の手順になる。 YAHOO.myProject.myModule = function () { //"private" variables: var myPrivateVar = "I can be accessed only from within YAHOO.myProject.myModule."; //"private" m

  • amachang - JavaScript 入門

    ここで言う名前空間とは 名前空間とは、一つの名前が一意のものを表す空間。例えば、大きな目で見れば、日語は自然言語の名前空間である。また、専門用語なども名前空間と考えることが出来る。 日語 { コンニチワ = 挨拶 : : } 中国語 { ニーハオ = 挨拶 } 英語 { ハロー = 挨拶 } また、名前空間は重なり(優先順位)を持つ 同音異義語などの言葉は、それぞれの細かい名前空間の重なりによって一意のものに特定されると考えられる たとえば、「コイが好き」と言った場合 池に関する名前空間 { コイ = すいすいパクパク } チャライ話題に関する名前空間 { コイ = ドキドキきゅんきゅん } お茶に関する名前空間 { コイ = にがーい } 名前空間の優先順位を考えると、一意の意味を知ることができる。

    bartleby0911
    bartleby0911 2009/01/13
    【プログラミングのこつ】 無駄な名前を極力使わないこと。意味単位に名前空間を細かく階層的に分離すること。
  • 文字列から要素を作りたいときはinnerHTMLではなくcreateContextualFragmentを使う - 素人がプログラミングを勉強していたブログ

    追記:ベンチマークをコメントを元に修正 文字列から要素を作りたい場合、 var temp = document.createElement('div'); temp.innerHTML = '<span>foo bar fizz buzz!</span>'; とやることが多い。 だが、不要なdiv要素ができて気持ち悪いし、for文でchildNodesをひとつずつ処理する必要があって、不便。 divの中にhead要素を入れることはできないので、innerHTML=''としても、要素は作られない。 RangeのcreateContxtualFragmentを使うと、こういった問題を避けることができる。 例えば、上のコードをcreateContextualFragmentを使って書き直すと、 var range = document.createRange(); range.createCon

    文字列から要素を作りたいときはinnerHTMLではなくcreateContextualFragmentを使う - 素人がプログラミングを勉強していたブログ
  • 連載:Ajax時代のJavaScriptプログラミング再入門「クロージャの仕組みを理解する」

    クロージャの仕組みを理解する スコープについて理解したところで、稿最後のテーマとして「クロージャ」について触れておくことにしよう。クロージャとは、ひと言でいうならば、「ローカル変数を参照している関数内関数」のこと。 もっとも、これだけの説明ではなかなかイメージがわきにくいと思うので、具体的にクロージャを利用したコードを1つ挙げてみよう。 function myClosure(init) { var cnt = init; return function() { return ++cnt; } } var result = myClosure(10); [A] window.alert(result()); // 11 [B] window.alert(result()); // 12 [C] window.alert(result()); // 13 [D] 一見すると、myClosur

    連載:Ajax時代のJavaScriptプログラミング再入門「クロージャの仕組みを理解する」