清除浮动
http://www.jianshu.com/p/09bd5873bed4
css bfc模型
vue的路由
闭包的原理 why可以访问内部变量
全局作用域:
1作用域最外层的函数和变量
2window的属性window对象的内置属性都拥有全局作用域,例如window.name、window.location、window.top
3函数中未定义直接赋值变量
局部作用域
react
typeof 返回值
事件冒泡 委托
什么是 “use strict”? 使用它的好处和坏处是什么?
严格模式是ES5引入的,更好的将错误检测引入代码的方法。顾名思义,使得JS在更严格的条件下运行。
变量必须先声明,再使用
function test(){
"use strict";
foo = 'bar'; // Error
}
不能对变量执行delete操作
var foo = "test";
function test(){}
delete foo; // Error
delete test; // Error
function test2(arg) {
delete arg; // Error
}
对象的属性名不能重复
{ foo: true, foo: false } // Error
禁用eval()
函数的arguments参数
setTimeout(function later(){
// do stuff...
setTimeout( later, 1000 );
}, 1000 );
禁用with(){}
不能修改arguments
不能在函数内定义arguments变量
不能使用arugment.caller和argument.callee。因此如果你要引用匿名函数,需要对匿名函数命名。
一个页面从输入 URL 到页面加载完的过程中都发生了什么事情?越详细越好(考察知识广度)
1. http客户端发起请求,创建一个端口,默认是80
2. 然后http服务器在端口监听客户端的发送请求
3. 最后服务器向客户端返回状态和内容
4. 浏览器根据接收到的内容进行解析
viewport的含义
浏览器窗口
在移动端分为 虚拟的viewportvisualviewport和布局viewportlayoutviewport
viewport全部属性&值如下:
width: viewport宽度 document.document.clientWidth
height: viewport高度
initial-scale: 初始缩放比例
maximum-scale: 最大缩放比例
minimum-scale: 最小缩放比例
user-scalable: 是否允许用户缩放
<meta name="viewport" content="width=devicewidth, initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0, user-scaleable=no">
网页可见区域宽: document.body.clientWidth
网页可见区域高: document.body.clientHeight
网页可见区域宽: document.body.offsetWidth (包括边线的宽)
网页可见区域高: document.body.offsetHeight (包括边线的高)
网页正文全文宽: document.body.scrollWidth
网页正文全文高: document.body.scrollHeight
网页被卷去的高: document.body.scrollTop
网页被卷去的左: document.body.scrollLeft
网页正文部分上: window.screenTop
网页正文部分左: window.screenLeft
屏幕物理分辨率的高: window.screen.height
屏幕物理分辨率的宽: window.screen.width
屏幕可用工作区高度: window.screen.availHeight
屏幕可用工作区宽度: window.screen.availWidth
屏幕缩放因子:window.devicePixelRatio
屏幕逻辑分辨率:window.screen.width * window.devicePixelRatio (缩放因子与物理分辨率的乘积)