真是糟糕。太糟了。剛剛才發現
ECMA-262 5th edition strict mode 已經
禁掉了 arguments.callee(會 [[ThrowTypeError]])。看來我之前寫的一大堆 code 都得重新處理。唉、我早就知道這件事才對,可是一直沒注意到。不過說實在的,以我的感覺,拿掉這東西對我們這些常常使用
closure 與
anonymous function 的人來說,的確不是件好事。當然我總是會選 strict mode 的,但以後寫出的程式似乎變得比較不「美」了。想想在記事本而非
IDE 下,在一個大函數中想改函數名的情況。我寧可把 callee 當作 function 內欲設填入 function 本身的 redefinable various,甚至是
保留字也沒關係。不過聽說之後連
arguments 本身都會消失…