それなりブログ

とあるWebエンジニアのそれなりのブログ、JavaScript/Node.js/Python/PHP/ゲーム作成 など

サイ本を読んでいる(2)

サイ本を読んでいる(1)の続き

今回は、7章~11章を読みました。

【argumentsと引数の関係】
argumentsの中身を操作すると引数の内容が変わる。逆もまた然り。

var f = function(x, y){
alert(x);            // -> "X"
alert(y);            // -> "Y"
arguments[0] = null;
alert(x);            // -> null
alert(arguments[1]); // -> "Y"
};
f("X", "Y");
【arguments.callee.length】
関数宣言時の引数の数を取れるプロパティ

// 渡している引数の数は2個、関数宣言時の引数の数は3個
var f = function(x, y, z){
alert(arguments.callee.length); // -> 3
};
f(1, 2);
【カリー化】
この記事参照
【循環参照によるIEのメモリリークについての小話】
IEのガーベッジコレクションは「各オブジェクトが参照カウントを持ち、それが0になると行われる。」というロジックなので、循環参照をすると参照カウントが0にならないのでメモリリークが起きる。
・・・という小話がありました。へー。
「へー」以上に何かを知りたい人は、このページを見ろ(英語)だと。
【正規表現リテラル】

var pattern = /end$/;
alert("the end".match(pattern)); // -> "end"

Rubyに似てる

以上です。

ネタが微妙なのは
読みつかれて飽きてきたので、興味を引く内容以外のコードはほとんど読まなくなったのと、内容自体は良くても、既に調べ済みの内容が多かったということです。

【各章別の感想】

  • 7章 – オブジェクトと配列・・・特に興味を引くものがなかった。
  • 8章 – 関数・・・クロージャの説明がありました。調べ済み内容多し。
  • 9章 – クラスとコンストラクタとプロトタイプ・・・継承とかmix-inについての話もあった。個人的にはサンプルコードのクラス・関数が全く欲しくなくて、頑張って読む気になれなかった。調べ済み内容多し。
  • 10章 – モジュールと名前空間・・・名前空間を如何に管理するとみんなが幸せになれるのかの話。特に興味が無いので読み飛ばした。
  • 11章 – 正規表現パターンマッチング・・・javascriptというよりは単なる正規表現の話。読み飛ばした。

2 Responses to “サイ本を読んでいる(2)”

  • nobu より:

    IEってまたヘンテコな動きするんですね。
    くだらないところ独創的。
    arguments.lengthで引数の数を取れませんでしたっけ?

  • kjirou より:

    arguments.length だと、関数実行時に受け取った引数の数になって、arguments.callee.length だと、関数宣言時に設定した引数の数になるようです。
    用途は今のところ思いつかないけど。


コメントを残す

メールアドレスが公開されることはありません。

Categories

Archives