new Date().getTime()來取得目前的time stamp,今天在cssRain看到JavaScript—new Date().getTime()的简写方式,發現
+new Date()這兩個會出現相同的結果,這讓我不禁好奇了「+」這個運算符他的特殊用法, 測試了幾個結果: More »
javascript程式應該獨立成js檔被include進來,盡量不要將javascript code 與embade在HTML裡頭,這麼一來無法利用cache或壓縮,將來要維護也不容易。 盡量將引入的javascript放到HTML的最後,將會減少載入script的延遲。 script標籤裡頭不需要使用lauguage, type屬性。 More »
parseInt("12px")=12
parseInt("abc")=NaN
parseInt(" ")=NaN
parseInt("092")=0
parseInt的規則是遇到非數字字元即停止,因此前三個是可以理解的結果。等等,那最後一個是怎麼回事,"092″應該會被轉成92吧,這個問題一直是我非常疑惑的問題,原來parseInt遇到0開頭的字串,會自動轉為8進位制計算,這實在是令人很不解,還好parseInt可以指定進位制,第二個參數即為進位制。
parseInt("092", 10) = 92
如此則可以解決這奇怪的問題,javascript : good parts也建議在這個function都加入第二個進位制的參數,避免不必要的錯誤。
另外也有人會用new Number來解決這個問題,例如:
var str = '092'; var num = new Number(str); console.log(num); // 92可以解決parseInt的這個奇怪現象,但在javascript: good parts這本書則指出javascript中這種「typed wrapper」是一種多餘的寫法,例如new Boolean, new Number, new String, new Object, new Array,事實上完全不需要這個功能。而我之前也在new Object() vs {} and new Array() vs [] 效能比較這篇文章 測試過直接用[]、{}來new 陣列和物件的比較,顯然typed wrapper的方式多了一個轉換的步驟,因此有效能上的差異。
$.ajax({
type: "POST",
url: _SUBMIT_URL,
data: postData,
contentType:'application/x-www-form-urlencoded;charset=utf-8',
complete: submitCallback
});
沒想到竟然可以了,不過我並沒有深入探究這是什麼原因,先把這個案子搞定之後再說吧!不過編碼問題真是很麻煩又累人的事情。沒遇過這樣的問題真的很難debug。

Categories
Tag Cloud
Blog RSS
Comments RSS
Last 50 Posts
Back
Void « Default
Life
Earth
Wind
Water
Fire
Light 