這兩天都在研究google旗下某個網站的JavaScript,發現JavaScript還真是詭異。撇開google變數、function名稱亂取、完全沒排版的影響,真的是看到會頭昏 @_@
幾個新發現的JavaScript的特點:
- 要定義一個新class可以用function去定義,其實function本身就是一個物件…
- 可以隨時給class的instance一個新的property,定義沒寫沒關係,自己加在new出來的instance就好了,這樣變成每個Instance的property可以是百百種,於是code看一看還要想一想這個property是原本就有的還是新加進去的…
- 可以隨時給任何物件新的member function,包括Intrinsic Object。如果嫌String沒有isDigit之類的function,自己寫一個加進去就好了
- obj.propertyA和obj[‘propertyA’]是一樣的
- 不想為只用到一次的class另外寫一個的話可以這樣寫:
var obj={
“propertyA”:null,
“methodA”:new Function()
};於是這個object就有了propertyA和methodA兩個member(是叫member嗎?)(OS:那幹嘛不直接寫obj.propertyA=ooxx和obj.prototype.methodA=new Function()就好了…)
不過也是看了這些東西之後才知道原本自己所知道的JavaScript內容還真是少的可以,看看別的code是會增長見聞的。但是這次扣掉一些只有一行的function,光250行就可以看個兩天才看的懂,那我看以後還是少看一點好了 orz