$('#form').serializeArray()
serializeArray()
方法序列化表單元素(類似.serialize() 方法),
返回 JSON 資料結構資料。 注意:此方法返回的是 JSON 對象而非 JSON 字串。
/*************************我只是分割線罷了*****************************************/
如果大家看jquery的sourcecode就知道一開始就有兩對小括弧,是什麼意思呢! 真的是比較困惑, 這麼神奇的代碼,什麼意思啊?
我們先看看jQuery一開始是怎麼寫的:
(function(){
// jquery 代碼
})();
它是由什麼組成呢? 有一個匿名函數(函數沒有名字),此匿名函數被一對小括弧包裹著,這對小括弧右邊還有一對小括弧.
我們再看常用一般函數定義方式.
//函數定義
function func1(){
alert("hello,world");
}
//調用函數
func1();
那麼這兩句話目的很明顯就是要彈出一個"helloworld"的對話方塊,那麼我們可不可以合并成一句話,
也同樣能達到這樣的效果,當然是可以的.
(function(){
alert("hello,world"
); })();
函數名稱func1都去掉了, 在函數外面加了一對小括弧.這和jquery是一樣的啊! 可以看出最後面一對小括弧語義就是"調用此匿名函數",那麼包裹在匿名函數外面的一對小括弧可以去掉嗎?
變成如下的樣子
function (){
alert("hello,world");
}();
要回答這個問題,先看看javascript對錶達式的評估.
dd= aa+ cc*bb javascript會先評估cc*bb,然後才會評估aa+,這是因為地球人都知道的事情,乘運算(*)符優先順序高於加(+) 同樣如果去掉這對小括弧的話, 我們可以假想一下其運算式的評估過程, javascript會先評估最後面小括弧,而不是先評估匿名函數了,那麼最後面的小括弧是什麼語義呢! 僅當作一般運算子去處理,並不是"此處存在函數調用"的這樣一個語義, 因為在這之前並不知道有匿名函數存在(還沒有評估呢),所以在匿名函數外面加上一對小括弧的話,javascript對其評估的順序就變了,
所以答案很明顯,不可以去掉匿名函數外面的一對小括弧,否則其評估就會失敗,導致語法錯誤.
/*************************我只是分割線罷了*****************************************/
StringUtils 方法(null安全)
StringUtils 方法的操作對象是 java.lang.String 類型的對象,是 JDK 提供的 String 類型操作方法的補充,並且是 null 安全的(即如果輸入參數 String 為 null 則不會拋出NullPointerException ,而是做了相應處理,例如,如果輸入為 null 則返回也是 null 等,具體可以查看原始碼)。