やたら強力な言語なんだけど、言語構造が全然わからなくてくやしかったのと、今後もしばらく書くことになりそうなので、ちゃんと勉強してみることにしてみた。
http://0xcc.net/blog/archives/000159.html
これの第五版。まだ翻訳はされていない?
以下面白かった話。
- a=2
b=1
というセミコロンなしでもラインブレークがあればおk。
このため、
return
true
は違う意味(return値なし)になる。恐ろしすぎる。 a = Boolean(false);
a = new Boolean(false); //newなしだと普通に動作するらしい
if (a) {
alert(true);
}
Boolean Objectは評価値が真になるらしい- 引数付のコールバックをするために試したコードがあって、うまくいかなくて教えてもらったコードがあったんだけど、
function fgen(val){
return function(){print(val)}
}
function test(){
var i = 0;
var a = Array();
var b = Array();
for(var j=0;j<4;j++){
a[j]=function(){print(i)}
b[j]=fgen(i);
i++;
}
for(var j=0;j<4;j++){
invoke(a[j])
invoke(b[j])
}
}
1 件のコメント:
こちらで試してみましたが、その通りですた。
new無しでBoolean()だけだとprimitiveのほうになるんですね。あばばばばばー
コメントを投稿