タグ

Functionに関するIMAKADOのブックマーク (4)

  • (function(){ ... })() の個人的な解釈 - hogehoge @teramako

    (function(var){..............})(var) と function(var){............} の違い。つまり、クロージャ。 - それ図解で。・・・tohokuaikiのチラシの裏 via: (function(){})() と function(){}() - IT戦記 解釈としてはオブジェクトの後ろに()をつけると関数とみなされて実行されるにつきると思う。 実際、どう見ても関数でないものでも後ろに()をつけると関数として評価しようとがんばってくれる。 JavaScript Shell 1.4の結果 var hoge = new Object(); hoge() TypeError on line 1: hoge is not a function 10() TypeError on line 1: 10 is not a function true

    (function(){ ... })() の個人的な解釈 - hogehoge @teramako
  • (function(){})() と function(){}() - IT戦記

    自分用メモ // JavaScript でクロージャを書くときこう書く事が多い (function() {})() // 何故なら // function() {}() // と書くと // function() {} が式ではなく、文として解釈されてしまうからだ。 // 文として解釈されないためには、文の途中(最初以外)に function と書いてやる必要がある // なので、まず開きカッコを書いてやる。 ( // の後に function() {} // と書いてやると function は式になる ) // 正確には、カッコの対は The Grouping Operator という演算子である。 // カッコ以外にも var a = // のように代入演算子のあとでもいい function() {} // つまり、以下のような記述も可能である。 var b = function()

    (function(){})() と function(){}() - IT戦記
  • Kanasan.JS JavaScript 第 5 版読書会 #2: Days on the Moon

    Kanasan.JS の JavaScript 第 5 版読書会 #2 へ行ってきました。今回は午前ライトニングトーク、午後読書会という二部構成。他の参加者の感想等は参加者のブログ記事一覧からどうぞ。参加人数が 50 人近くという大規模な読書会を企画し、無事成功に導いてくださった Kanasan さんはじめスタッフの方々、そして参加者の皆さん、当にありがとうございました。 ライトニングトーク Lightning Talk 一覧および Lightning Talk 発表資料一覧から各 LT に関する情報が見られます。 Mozilla Developer Center 翻訳事始 私も LT に参加したのですが、JavaScript に関することなら何でも OK とあるのを見落としていてほとんど関係ない話 (一応翻訳作業の実演は Core JavaScript 1.5 リファレンスの arug

  • Functionオブジェクト - ma2’s diary

    Javascriptを勉強中なのですが,Functionオブジェクトで疑問が。 f = {foo: function(a){print a}};こんな感じで無名の関数オブジェクトを作れます。f.foo(10)とすれば10がプリントされます。こんな関数オブジェクトを少しずつパラメータを変えてたくさん作ろうと思いました。ところが for (i=0; i<10; i++) { f = {foo: function(a){print a+i}}; }とやると,「print a+i」は関数評価時まで評価されないので,ループ中の値に関係なく,関数評価時のスコープにある"i"を探して値がセットされてしまいます。当は「function(a){print a+0}」から「function(a){print a+9}」までの関数を作りたいのです。どうすればいいのでしょう?

    Functionオブジェクト - ma2’s diary
    IMAKADO
    IMAKADO 2007/10/30
    nant_viさんのところでwithつかった方法も紹介されている。
  • 1