前端知识小拷问 002
准备接收大前端形法的考验吧!?每日5题,直击你的内心 ~~
仓库地址:https://github.com/RiversCoder/fontend-question-ten-everyday
- 白屏时间:
<head>
标签解析完就是白屏的结束时间点,在head
标签中前后打点,计算差值 - 首屏时间:首屏时间是指用户打开网站开始,到浏览器首屏页面内容渲染完成的时间,重要;由于在页面上可能存在很多异步加载的需求,所以建议最好使用
devtool
中的timeline
工具
- 闭包就是能够读取其他函数内部变量的函数
- 作用域是针对变量的
- 作用域的特点就是,先在自己的变量范围中查找,如果找不到,就会沿着作用域逐级往上查找变量。
- ajax请求实现调用
var getXmlHttpRequest = function () {
if (window.XMLHttpRequest) {
//主流浏览器提供了XMLHttpRequest对象
return new XMLHttpRequest();
}
else if (window.ActiveXObject) {
//低版本的IE浏览器没有提供XMLHttpRequest对象
//所以必须使用IE浏览器的特定实现ActiveXObject
return new ActiveXObject("Microsoft.XMLHTTP");
}
};
var xhr = getXmlHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
//获取成功后执行操作
//数据在xhr.responseText
}
};
xhr.open("TYPE", "URL", true);
xhr.send("");
- readyState中的五种状态
- 目前则更多的是使用
onload
方法
- 定义一个函数,用于处理接收到的跨域数据。
- 创建一个script节点,然后
src
属性上拼接发送的目的URL
以及callback
字符参数。 - 在跨域服务器端接收
GET
请求,获取cabback
参数,拼接好,返回数据。 - 删除之前生成的
script
节点。