- 2008年2月29日 19:03
- Kanasan.JS | おもろい
2月24日(日)Kanasan.JS JavaScript第5版 読書会#3に行ってきました!
kanasan並びにスタッフの方々、参加者の方々お疲れ様でした^^/
みなさんのブログは後で拝見させていただきます。(見たら自分のが書けないので封印してましたw)
Kanasan.JS JavaScript第5版読書会#3 参加者のブログ記事一覧 - Kanasan.JS : JavaScript Workshop in Kansai | Google グループ
今回は、前回の経験を活かして多少の予習をしていったにもかかわらず、またもや高レヴェルな内容に後から理解を深めることになってしまっています。
本を読みながらチャットを眺めるのは前回より慣れたかな。
ということでサイ本「7.5 配列」からスタート
・配列の破壊/非破壊
→実行するメソッドが元の配列に影響を与える/与えないということ。
非破壊(与えない)メソッド
>concat,slice
破壊(与える)メソッド
>それ以外
join,reverse,sort,splice,push,pop,unshift,shift,toString,toStringLocaleString
・走るフォクすけ> kanasanのデスクトップ画面に出現。癒される参加者。
これかな?(フォクすけのテーマ&紹介エントリ)
フォクすけかわいいよフォクすけ。(繰り返すとなぜか偏執っぽくなるコトバw)

by http://www.mozilla-japan.org/
サイ本「8章 関数」
・8.1.1 入れ子型の関数
入れ子型の関数は、入れ子にする関数のトップレベルで定義しなければなりません。
>定義してもエラーにはならない。(firefox-firebug)
>一見、動いているようにみえる。
>実装依存、予期しない動きをするから書かない。
「if内で入れ子型の関数宣言」
function h() {
if(true) {
function a() {alert("sss");}
a();
}
}
h();>sssが表示される
下は、関数リテラルで宣言しているから依存しない。
「if内で関数を関数リテラル(8.1.2)を使って実装」
function h() {
var i = 1;
if(i==1) {
var a = function() {alert("sss");};>sssが表示される
a();
}
}
h();
・-1/0===Number.NEGATIVE_INFINITYはtrue(Number.NEGATIVE_INFINITYは負の無限大)
・(function(a,b,c,d){}).length は4。おもしろい
・applyとcallの覚え方
applyは、配列を展開する。
applyはarrayに似てる(単語的にw覚えることができました^^)
callいらなくね?(そんな気が・・・怠惰なので覚えるをやめてみます。)
・Callオブジェクトは、アプリケーション側から明示的に生成したり呼び出したりすることはできない
http://www.atmarkit.co.jp/fdotnet/ajaxjs/ajaxjs02/ajaxjs02_04.html
その他(理解が足りなかった所、試してみる)
・console.time(firebugのconsole.API)
console.time("sss");
alert("aaa");//この部分の時間が取れる。(そういや遥か昔、Delphiでこんなの組んだ記憶が・・・)
console.timeEnd("sss");
・[1,2,3]と[1,2,3,]の違い
lengthが違う。(他は、よくわからない)
IEなら4
Firefox,Operaなら3
・同値と等値どっちだっけ?
等値は「==」
同値は「===」
参照:サイ本「5.4.1等値演算子(==)と同値演算子参照(===)」
等値で比較
var a = [1,2] ;var b = a ; alert(a==b); はtrue;
var a = [1,2] ;var b = [1,2] ; alert(a==b); はtrue;
同値で比較
var a = [1,2] ;var b = a ; alert(a===b); はtrue;
var a = [1,2] ;var b = [1,2] ; alert(a===b); はfalse;
・curry>カリー化。これは後回しにしようw
<メモ>参考になりそうなエントリー
http://d.hatena.ne.jp/tenkoma/20071023/1193160645
- Newer: ドメイン更新し損ねる
- Older: 最近、気になった記事
