面试题目归档
给同层次的所有元素的共同的祖先节点添加一个事件处理程序,而不用给每一个
元素都添加事件处理
闭包指的是引用了另一个函数作用域中变量的函数,通常是在嵌套函数中实现的。
由于闭包会保留它们包含函数的作用域,所以比其他函数更占用内存。过度使用闭包可能导致内存过渡占用
移动端web页面的开发,由于手机屏幕尺寸、分辨率不同,或者需要考虑横竖屏问题,为了使得web页面在不同移动设备上具有相适应的展示效果,需要在开发过程中使用合理的适配方案来解决这个问题。
方法一:rem
- 给根节点设置一个字体大小
- 然后,其他尺寸单位全部用 rem
- 监听屏幕的大小
- 根据屏幕的大小按比例改变根节点字体的大小
方法二:媒体查询 (@media)
@media起到的作用是,你可以给不同尺寸的设备,设置单独、互不影响的 css 属性。
比如:屏幕宽度小于 500px 时(手机屏幕),怎样怎样
宽度在 500px ~ 1000px 时(平板屏幕),怎样怎样
宽度在 1000px ~ 1500px 时(电脑小屏幕),怎样怎样
宽度在 1500px ~ 2000px 时(普通电脑屏幕),怎样怎样
立即执行函数
(有多种写法:(function(){} )()、( function(){} ())、!function(){}()、)
作用:1. 页面加载完成后只执行一次的设置函数 2. 将设置函数中的变量包裹在局部作用域中,不会泄露成全局变量。 3. 创建一个独立的作用域,这个作用域里的变量,外面访问不到(避免变量污染)
对于普通函数来说,this指向的是其调用者,对于箭头函数来说this指向的是调用者的父级
对于匿名函数来说,this指向的是window,原因是,匿名函数的执行环境是全局的,而且this只在函数内部起作用。在匿名函数中找不到相应内容,所以就从全局中找,找到后打印出来。
对于箭头函数来说,this指向的是其父级的调用者。
根据html文件构建DOM树和CSSOM树。如果遇到js,阻塞DOM树及CSSOM树的构建,优先加载js文件,加载完毕再继续构建DOM树及CSSOM树;DOM树构建过程:读取html文档,将字节转换成字符,确定tokens(标签),再将tokens转换成节点,以节点构建 DOM 树。
构建渲染树(Render Tree);//细说:渲染树(Render Tree)由DOM树、CSSOM树合并而成,并不是必须等DOM树及CSSOM树加载完成后才开始合并构建渲染树。三者的构建并无先后条件,亦非完全独立,而是会有交叉,并行构建。因此会形成一边加载,一边解析,一边渲染的工作现象。
页面的重绘(repaint)与重排(reflow)页面渲染完成后,若JS操作了DOM节点,根据JS对DOM操作动作的大小,浏览器对页面进行重绘或是重排。
key绑定的值不同,所对应的组件中对遍历的列表进行修改时性能会不同,不建议把key绑定至数组的index下,建议绑定在数组内容中某个可以标识内容的值,提高数组渲染的性能。
beforeCreate:创建空的vue实例,data和methods中的数据未被初始化;
Created: data和methods中的数据初始化完成,可以开始使用data和methods进行一些初始操作
beforeMount: vue组件的模板编译完成,并存放于内存中,但尚未挂载和渲染至页面
mounted: 将内存中编译好的模板进行挂载,并渲染至页面中