數組去重 function getSingle (arr) { var res = []; var jj = {}; for (i = 0; i < arr.length; i++) { if(!jj[arr[i]]) { res.push(arr[i]); jj[arr[i]] = 1; } } ...
數組去重
function getSingle (arr)
{
var res = [];
var jj = {};
for (i = 0; i < arr.length; i++)
{
if(!jj[arr[i]])
{
res.push(arr[i]);
jj[arr[i]] = 1;
}
}
return res;
}
var result = getSingle([111,23,32,23,44,33,22,33]);
console.log(result);
閉包的理解:
funtion aa ()
{
var name = "hello";
function bb ()
{
console.log(name);
}
return bb;
}
var getName = aa(); //getName 是一個閉包
getName();
閉包:函數嵌套函數,函數內部可以引用外部的函數和變數。閉包的使用防止全局變數被污染。但由於閉包的參數和變數不會被回收,會增大記憶體使用量。
HTTP協議
Http協議定義了很多與伺服器交互的方法,最基本的有4種,分別是GET,POST,PUT,DELETE. 一個URL地址用於描述一個網路上的資源,而HTTP中的GET, POST, PUT, DELETE就對應著對這個資源的查,改,增,刪4個操作。GET一般用於獲取/查詢資源信息,而POST一般用於更新資源信息.
1. GET提交的數據會放在URL之後,以?分割URL和傳輸數據,參數之間以&相連,如EditPosts.aspx?name=test1&id=123456. POST方法是把提交的數據放在HTTP包的Body中.
2. GET提交的數據大小有限制(因為瀏覽器對URL的長度有限制),而POST方法提交的數據沒有限制.
HTTP狀態碼
1XX 提示信息 - 表示請求已被成功接收,繼續處理
2XX 成功 - 表示請求已被成功接收,理解,接受
3XX 重定向 - 要完成請求必須進行更進一步的處理
4XX 客戶端錯誤 - 請求有語法錯誤或請求無法實現
5XX 伺服器端錯誤 - 伺服器未能實現合法的請求
常見code:
302 Found 重定向,新的URL會在response 中的Location中返回,瀏覽器將會自動使用新的URL發出新的Request
400 Bad Request 客戶端請求與語法錯誤,不能被伺服器所理解
403 Forbidden 伺服器收到請求,但是拒絕提供服務
404 Not Found
500 Internal Server Error 伺服器發生了不可預期的錯誤
503 Server Unavailable 伺服器當前不能處理客戶端的請求,一段時間後可能恢復正常