2008/11/22(土)amazonで大量購入

ここ最近本屋へ行ってなかったので買ってなかったものをamazonで一括購入.
もうちょっと欲しいものもあったけど,在庫が無いらしく,発送予定が3-5週間後とか出たのでキャンセル.そちらは次回に回すことにしました.

というわけで,今月はadiaryに相当寄付してる気がする

2008/11/21(金)length プロパティ

配列の要素数ではなく,インデックスの最大値+1を指す.
そのため,

var a = new Array();
a[0] = 0; // length -> 1
a[1] = 1; // length -> 2
a[100] = 100; // length -> 101
a[2] = 2; // length -> 101

になる...

要素数を知りたい場合カウントするしかないの?

var count = 0;
for(var i in ary){ count++; }

2008/11/20(木)メソッド定義のマイルール

コンストラクタの定義

class = function(o){
}

プロトタイプで定義

ここに定義するのは,オブジェクト名付きで呼び出されるメソッド類.thisを信用することができるもの.class内部からしか呼び出さないものは_を付ける.(_付きのメソッドを外部から呼び出しても動作は保証しない)

class.prototype = {
  func1: function(){
  },
  _func2: function(){
  }
}

クラス名付きで定義

イベントなどにより呼び出されるメソッド類.thisを信用できない.必要ならば,引数に自分自身を指すオブジェクトを入れる.

class.func3 = function(){
}

2008/11/19(水)2008-11-19

  • 定期預金とやらの口座と作ろうかと思い,銀行へ行ったら,いつの間にか国債の話になってた
  • トナー届いた.マゼンダの変な線が入らなくなりました.
  • この独り言を外部から書き込めるツールがほしい...作るか...
  • むやみに叫びたくなることあるよね

2008/11/19(水)javascriptのpro...

と同じ罠にはまってしまった...
なにやってるんだか.

A = function(){}
A.prototype = {
  pos: {x:0, y:0}
}

a = new A();
b = new A();

a.pos.x = 10; a.pos.y = 20;
b.pos.x = 30; b.pos.y = 40;

a.pos.x; // -> 30;
a.pos.y; // -> 40;
b.pos.x; // -> 30;
b.pos.y; // -> 40;

正しくは↓の通り。

A = function(){
  this.pos = {x:0, y:0};
}
A.prototype = {
  pos: null
}

a = new A();
b = new A();

a.pos.x = 10; a.pos.y = 20;
b.pos.x = 30; b.pos.y = 40;

a.pos.x; // -> 10;
a.pos.y; // -> 20;
b.pos.x; // -> 30;
b.pos.y; // -> 40;

一度,以前作ったプログラムも見直した方がいいかもしれない

2008/11/17(月)2008-11-17

  • amazonから発送したというメールが来た
  • 本日のゼミの発表者3人中2人欠席
    • 昨日はいたのに今日は無断欠席
    • 車の免許を取りに行く
  • 無断欠席もさることながら,免許を取りに行くという理由の欠席を許してしまう教授も信じられない.