- 如果一个数组都是整数,需要把小于10的数去除,保留比10大的数应该怎么做?
1.利用数组的过滤方法
let arr = [1,2,3,40,70,30,5,90]
let arrFilter = arr.filter((item)=>{
return item >= 10
})
2.循环遍历
var arr1 = [1, 3, 10, 2, 20];
var result = [];
for (var i = 0; i < arr1.length; i++) {
if (arr1[i] >= 10) {
result.push(arr1[i]);
}
}
就是能够读取外层函数内部变量的函数。
闭包需要满足三个条件: 1访问所在作用域; 2函数嵌套; 3在所在作用域外被调用。
优点: 可以重复使用变量,并且不会造成变量污染。
缺点: 会引起内存泄漏
使用闭包的注意点: 由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除。
100
——
客户必须继续发出请求
101
——
客户要求服务器根据请求转换
HTTP
协议版本
200
——
交易成功
201
——
提示知道新文件的
URL
202
——
接受和处理、但处理未完成
203
——
返回信息不确定或不完整
204
——
请求收到,但返回信息为空
205
——
服务器完成了请求,用户代理必须复位当前已经浏览过的文件
206
——
服务器已经完成了部分用户的
GET
请求
300
——
请求的资源可在多处得到
301
——
删除请求数据
302
——
在其他地址发现了请求数据
303
——
建议客户访问其他
URL
或访问方式
304
——
客户端已经执行了
GET
,但文件未变化
305
——
请求的资源必须从服务器指定的地址得到
306
——
前一版本
HTTP
中使用的代码,现行版本中不再使用
307
——
申明请求的资源临时性删除
400
——
错误请求,如语法错误
401
——
请求授权失败
402
——
保留有效
ChargeTo
头响应
403
——
请求不允许
404
——
没有发现文件、查询或
URl
405
——
用户在
Request-Line
字段定义的方法不允许
406
——
根据用户发送的
Accept
拖,请求资源不可访问
407
——
类似
401
,用户必须首先在代理服务器上得到授权
GET
一般用于获取/查询资源信息,而
POST
一般用于更新资源信息。
GET
和
POST
的区别: GET提交的数据会放在
?
之后,以问号(?)分割
URL
和传输数据,参数之间以&相连 GET提交的数据大小有限制(因为浏览器对
URL
的长度有限制), 而
POST
方法提交的数据大小没有限制。
GET
方式提交数据会带来安全问题,比如一个登录页面通过
GET
方式提交数据时,用户名和密码将出现在URL
上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码。
构造函数方法,原型方法,工厂方法,单例模式
输入
URL
访问
hosts
解析,如果没有解析访问
DNS
解析
TCP
握手
HTTP
请求
HTTP
响应返回数据
浏览器解析并渲染页面
forEach
和
map
都是循环遍历数组中的每一项。
forEach()
和
map()
里面每一次执行匿名函数都支持
3
个参数:数组中的当前项item,
当前项的索引
index,
原始数组
input
。匿名函数中的
this
都是指
Window
。只能遍历数组。
他们的区别是:
forEach
没有返回值,但
map
中要有返回值,返回处理后的所有新元素组成的数组。
for in索引遍历,主要用于循环/迭代对象属性,可以用来循环/迭代数组