闭包
子函数可以调用父函数的参数和变量
返回的资源没有得到释放
正则regExp
点 匹配任意字符
精确匹配使用方括号 []
至少一个 +
是否符合条件 reg.test()
可有可无 0个或者1个 ?表示
提取子串 exec()
^开始
$结束
{}个数
*可以是任意个 包括0个
g全局匹配 i忽略大小写 m多行匹配
window.location.hash
pushSate replaceState
在一个对象中绑定函数 成为这个对象的方法
即使是内置的函数也可重新指向新的函数
数组方法
filter 过滤掉满足要求的数组对象 返回剩下的数组
forEach 不会返回新的数组
map 映射 filter过滤 forEach循环 reduce累加 sort比较大小
find找到第一个满足条件的 返回布尔 findIndex找到第一个满足条件的
every每一个 都符合才返回布尔
some只有一个满足就返回true
闭包用处
1)创建一个匿名函数并且立即执行(没有重名的烦恼) 匿名函数并立即执行
2)封装一个私有变量携带状态的函数 私有变量+携带状态的函数
3) 接受函数做为参数 还可把函数作为返回值 函数可为参数 返回值
4)相关参数和变量都保存在返回的函数中 变量和参数都在返回的函数中
5)返回的函数没有立即调用 返回函数没有立即调用
6)闭包每次调用都会返回一个新的函数 每调用一次返回一个新的函数
判断全局变量是否存在 window.变量===“undefined”
函数内部 typeof(变量)===“undefined”
对象或者数组转化成字符串
JSON.stringify() 最后一个参数可以传入输出的格式
local.protocal https
local.host 主域名
local.port 端口
local.pathname
local.search ?后
local.hash #后
httponly 降低脚本访问cookie的风险
父.insertBefore(新,旧) 新的插到旧的之前
操作文件 input type=“file” 获取文件的信息
input type="file" enctype="multipart|form-data" methods="post"
let file=input.value.files[0]
file.name
file.size
file.lastModifiedDate
file.type image/png
读取文件
new FileReader() reader.onload=function(){}
readAsDataURL() 读取文件内容的路径 以dataURL的格式读取文件
ajax流程
1创建对象 newXMLHttpRequest ActiveXObject
2要执行的函数 onreadystatechange=function(){} readyState=4 status=200
3打开 open()
4发送 send
跨域方法
JSONP 只能有get模式 允许跨域使用JavaScript
CORS 响应头
浏览器确认服务器响应才会继续发 否则会报错
this指向
1.全局 浏览器 window
2.是否为new绑定 构造函数中没有返回function 或者object this指向新对象
3.是否同过call apply调用 指定的对象
第一个传入的值为undefined 或者null
居中显示
display:flex align-item:center;
构造函数中的this指向创建实例的对象
网友评论