表單提交的簡單優化

2021-09-20 05:17:00 字數 1925 閱讀 5562

今天,分配的任務做完,問我們組長有沒有工作需要幫助,她來了句把自己**優化下,影響效能的地方,以及 不規範的地方 自己優化下,然後給她看... (等著被吊)

優化前 (好吧確實臃腫)

handlesubmit = () => ,

// contactstore: ,

// } = this.props;

//上傳 first, second, data

if (!this.state.firstselectname) );

return false;

}if (!this.state.selectphone) );

return false;

}if (!this.state.secendselectname) );

return false;

}if (!this.state.selectphone_) );

return false;

}if (this.state.selectphone === this.state.selectphone_) );

return false;

}//上傳通訊錄

}

優化後 (指導下...)

...

static defaultprops =

};....

handlesubmit = () => = this.props;

const formcheckarray = ["firstselectname","selectphone","secendselectname","selectphone_"];

const result = formcheckarray.find(key=> !this.state[key]);

if(result));

return false;

}if (this.state.selectphone === this.state.selectphone_) );

return false;

}//上傳通訊錄

}

是不是舒服多了 ,這裡有個優化原則 就是把靜態內容 統一管理。 還有其他的優化方案,待研究。。。。

這裡記錄下 es6的 find的使用:

語法:arr.find(callback[, thisarg])

描述:

find 方法對陣列中的每一項元素執行一次 callback 函式,直至有乙個 callback 返回 true。當找到了這樣乙個元素後,該方法會立即返回這個元素的值,否則返回 undefined

注意 callback 函式會為陣列中的每個索引呼叫即從 0 到length - 1,而不僅僅是那些被賦值的索引,這意味著對於稀疏陣列來說,該方法的效率要低於那些只遍歷有值的索引的方法。

callback 函式帶有3個引數:當前元素的值、當前元素的索引,以及陣列本身。

如果提供了 thisarg 引數,那麼它將作為每次 callback 函式執行時的上下文物件,否則上下文物件為 undefined

find 方法不會改變陣列。

在第一次呼叫 callback函式時會確定元素的索引範圍,因此在 find 方法開始執行之後新增到陣列的新元素將不會被 callback 函式訪問到。如果陣列中乙個尚未被callback函式訪問到的元素的值被callback函式所改變,那麼當callback函式訪問到它時,它的值是將是根據它在陣列中的索引所訪問到的當前值。被刪除的元素仍舊會被訪問到。

返回值: 當某個元素通過 callback 的測試時,返回陣列中的乙個值,否則返回 undefined。

Jquery,JS的表單提交

frm為某個表單form的id var fr document.getelementbyid frm fr.action deptdeleteservlet fr.method post fr.submit 表單重置 document.getelementbyid frm reset frm att...

from表單的提交

from表單的提交 1 get 和 post get 方式提交中文亂碼。post方式 中文正常。2 form表單的提交方式 formid reg 使用者名稱 input name uname type text id uname br 密碼 input name upwd type text id ...

jsp的表單提交

原先一直以為不管的是表單提交還是url傳值都是不能傳遞中文的,但是在公司專案中卻看到了,用表單提交中文字串的例項,我真的 見多識廣 啊!很菜 更菜 誰有我菜 還有少用request.getparameter request.getattribute 等與servlet 有關的api,保持action...