タグ

closureに関するsotarokのブックマーク (8)

  • JavaScript クロージャとレキシカルスコープ - Backstage of theater.js

    自分なりのまとめです。 【他、参考となるサイト】 http://d.hatena.ne.jp/keyword/%a5%af%a5%ed%a1%bc%a5%b8%a5%e3 http://www.atmarkit.co.jp/fdotnet/ajaxjs/ajaxjs03/ajaxjs03_03.html http://www.atmarkit.co.jp/fdotnet/ajaxjs/ajaxjs03/ajaxjs03_04.html 内部関数 関数内で更に関数を定義することができます。 function test(test_str){ function sub(sub_str){ alert(sub_str); } sub("TEST:" + test_str); } test("!!!"); //「TEST:!!!」と表示される。 //←ここでsub("!!!");とはできない。 関数

    JavaScript クロージャとレキシカルスコープ - Backstage of theater.js
  • SURGAVIP : Link Slot Gacor PG Soft Maxwin Slot Online

    SURGAVIP # Link Slot Pragmatic Gacor Malam Ini Modal Kecil Janji Maxwin Sekarang ! Selamat datang di SURGAVIP situs slot terpercaya dari server PG Soft ternama, banyak jenis permainan slot gacor dan mudah menang maxwin disini bersama surgavip. main dengan modal receh pulang dengan uang berlimpah. SURGAVIP dikenal sebagai situs terpercaya dengan koleksi lengkap game dari pg oft, provider yang udah

    sotarok
    sotarok 2008/08/18
    レキシカルスコープ
  • javascriptを理解するためのたった2つの大切なこと:改

    9割ぐらいはハッシュ何がハッシュなのかjavascriptで存在するほとんどのオブジェクトの実体はハッシュだよ。 var arr = [0,1,2,3]; とかをみると配列(人によってはリスト)に見えると思う。でも実際は違うんだ。 これは var has = {0:0,1:1,2:2,3:3}; と基的には等価なんだ。ただちょっと束縛されているメソッド(インターフェイス)が違うだけ。 ためしに arr[4] = 4; arr['x'] = 'string'; arr[-1] = -1; としてみよう。 Firebugで確認してみると[0, 1, 2, undefined, 4]というような値がかえってくるよ。 でもarr[-1]やarr['x']の値は保存されてないのかな?そんなことはないちゃんとアクセスできるんだ。 それどころかarr.xで'string'がかえってくるんだ。 別の例を

    javascriptを理解するためのたった2つの大切なこと:改
    sotarok
    sotarok 2008/08/15
    クロージャ
  • はてなブログ | 無料ブログを作成しよう

    景色変わる6インチヒール ― の話 春頃に買ったすごくお気に入りのがあって、今日はその話をします。 商品としてはこれで、アイボリーとブラックを持っています。 https://store.cityhill.co.jp/item/945970.html アイボリーを買った後、かわいくて歩きやすくて気に入ったのでブラックを追加購入しま…

    はてなブログ | 無料ブログを作成しよう
    sotarok
    sotarok 2008/08/15
    レキシカルスコープについて
  • クロージャ - JavaScript | MDN

    function init() { var name = "Mozilla"; // name は、init が作成するローカル変数 function displayName() { // displayName() は内部に閉じた関数 console.log(name); // 親関数で宣言された変数を使用 } displayName(); } init(); init() 関数はローカル変数 name を作成し、それから関数 displayName() を定義しています。displayName() は init() の中で定義されている内部関数で、その関数体の内部でしか利用できません。displayName() 自体はローカル変数を持っていませんが、外側のスコープで宣言された変数にアクセスできるので、displayName() では親関数 init() で宣言された変数 name を

    クロージャ - JavaScript | MDN
    sotarok
    sotarok 2008/08/15
    クロージャ レキシカルスコープ
  • 関数、オブジェクト、クロージャ - 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

  • Life is beautiful: Javascript、クロージャを使ったプライベート関数の隠蔽について

    (このエントリーは「Javascriptクイズ:無名関数と実行効率の話」の続編。) 「???」と頭をかしげる太郎に、「じゃあ、これだったらどうかな?」と三郎はコードを書き始めます。 function code2name(code) { var mapping = { 'us': 'United States', 'ja': 'Japan', 'ko': 'Korea', 'ru': 'Russa', 'uk': 'United Kingdom', 'fr': 'France', 'cc': 'China', 'gw': 'Germany' }; return mapping[code] || '(unknown)'; } 「カントリーコードを国名に変換しているんですね。」と太郎。 「どこが問題だか分かる?」 「うーん、マッピングのためのオブジェクトを毎回作り直しているところかな。」 「そう

    sotarok
    sotarok 2008/08/15
    クロージャ
  • クロージャが理解できない人のための超クロージャ入門。 - 絶品ゆどうふのタレ

    なんだか全然違う事を考えていて、おもむろにクロージャまで考えが到達してハッと喉のつかえが取れたのでメモ。 タイトルは釣りです。嘘ですちゃんと説明してます。自分なりに。 あとからタイトルが×「超クロージャ入門」→○「クロージャ超入門」にしなきゃいけなかったと気付いたのは秘密。 前座 理解したつもりでいながらも、自分の中で整理しきれなかった項目がクロージャでした。 で、ついさっきやっと、難しく考えすぎていたなぁと気づいたので、自分として理解した事をメモがてら説明しておこうと考えました*1。 といっても、目新しい説明は何も書いてないです。小難しい理屈とか、実装を先に見てしまうからわけわからなくなるんだと思ったので、間違っているかも知れないぐらい大雑把な説明*2と、得られる結果だけを先に書くという説明手法で書いたというだけです。 こういうエントリって、もっといい説明の劣化物を生産することになるのは

    クロージャが理解できない人のための超クロージャ入門。 - 絶品ゆどうふのタレ
    sotarok
    sotarok 2008/03/03
    クロージャ入門
  • 1