事件委托是什么?
事件委托就是利用事件冒泡,只定制一个事件处理程序,就可以管理某一类型的所有事件。
事件委托,称为事件代理,是JS中很常用的绑定事件的方法。事件委托就是把原本需要绑定在子元素上面的事件委托给父元素,让父元素担当事件监听的职务,原理是DOM元素的事件冒泡。
git 常用命令
1.git clone //克隆远程仓库
2. git add . //将代码添加在暂缓区
3. git commit -m //提交一次记录
4. git push //推送
5. git pull //拉去
6. git branch 查看本地分支
7. git branch -a 查看远程分支
8. git branch -d xxx 删除分支
9. git checkout xxx 切换分支
10. git checkout -b xxx 新建分支并且切换到改分支
11. git branch -m 旧分支名 新分支名 分支重命名
12. git status 查看修改的文件
13. git merge 合并分支
14. git checkout -b xxx origin/xxx 拉去远程分支
15. git log 查看提交记录
浏览器本地存储
浏览器的本地存储主要分为Cookie、localStorage和sessionStorage。
共同点: 都是保存在浏览器端、且同源的
不同点:
- cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递。cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下sessionStorage和localStorage不会自动把数据发送给服务器,仅在本地保存。
- 存储大小限制也不同,
- cookie数据不能超过4K,sessionStorage和localStorage可以达到5M
- sessionStorage:仅在当前浏览器窗口关闭之前有效;
- localStorage:始终有效,窗口或浏览器关闭也一直保存,本地存储,因此用作持久数据;
- cookie:只在设置的cookie过期时间之前有效,即使窗口关闭或浏览器关闭
3.作用域不同
- sessionStorage:不在不同的浏览器窗口中共享,即使是同一个页面;
- localstorage:在所有同源窗口中都是共享的;也就是说只要浏览器不关闭,数据仍然存在
- cookie: 也是在所有同源窗口中都是共享的.也就是说只要浏览器不关闭,数据仍然存在
GET和POST区别
1.GET在浏览器回退不会再次请求,POST会再次提交请求
2.GET请求会被浏览器主动缓存,POST不会,要手动设置
3.GET请求参数会被完整保留在浏览器历史记录里,POST中的参数不会
4.GET请求在URL中传送的参数是有长度限制的,而POST没有限制
5.GET参数通过URL传递,POST放在Request body中
6.GET参数暴露在地址栏不安全,POST放在报文内部更安全
7.GET一般用于查询信息,POST一般用于提交某种信息进行某些修改操作
8.GET产生一个TCP数据包;POST产生两个TCP数据包
实现继承的方法有那些
第一就是通过原型链继承
第二是通过构造函数继承 这个是无法使用到父类的原型
第三就是组合式的
组合继承综合了原型链继承和盗用构造函数继承(构造函数继承),将两者的优点结合了起来
谈一下你对this的理解
- 一般情况下this是指向window的,如果是严格模式他就指向undefined
- 我们可以通过call apply bind来修改this的指向
- new出来的实例对象this是指向这个实例的
- 在隐士的状态下是指向他调用者
移动端适配方案有哪些
因为视口、逻辑像素、分辨率这些变量的不同,在每个设备展示都不一样,需要一种方案来统一。
常用适配方案
- rem & vw
- rem & 媒体查询接下来你会被追问 rem 怎么做
flexible 方案
动态设置 rem 实现在不同尺寸的设备上界面展示效果一致
- 限制 rem 的最大值
- 通过媒体查询限制内容最大宽度
postcss-pxtorem
webpack当中进行配置之后可以自动转换
vw免不了也是要问的了
原理与实现
vw/vh是将屏幕直接分为100等份,1vw是1%的屏幕宽度,1vh是1%的屏幕高度
插件使用(postcss-px-to-viewport)
webpack当中进行配置之后可以自动转换