互联网公司前端面试
1、javascript:void(0)起什么作用,在什么时候用到?
答:javascript中的void是一个操作符,该操作符指定一个要计算的表达式,但是不返回值。 在做页面是,如果想做一个连接点击后不做任何事情,或者做其他事情,可以设置属性href=”#”,但是这样会有一个问题,当页面有滚动条时,点击会跳到页面顶端,是因为”#”默认的瞄点位置是top。而仅仅表示一个死链接。
2、CSS选择符、属性继承、优先级算法以及CSS3新增伪类、新特性
答:
CSS 选择符:
1) id选择器(# myid)
2) 类选择器(.myclassname)
3) 标签选择器(div, h1, p)
4) 相邻选择器(h1 + p)
5) 子选择器(ul > li)
6) 后代选择器(li a)
7) 通配符选择器( * )
8) 属性选择器(a[rel = “external”])
9) 伪类选择器(a: hover, li:nth-child)
可继承的样式:
1) font-size
2) font-family
3) color
4) text-indent
不可继承的样式:
1) border
2) padding
3) margin
4) width
5) height
优先级算法:
1) 优先级就近原则,同权重情况下样式定义最近者为准;
2) 载入样式以最后载入的定位为准;
3) !important > id > class > tag
4) important 比 内联优先级高,但内联比 id 要高
CSS3新增伪类举例:
1) p:first-of-type 选择属于其父元素的首个 <p> 元素的每个 <p> 元素。
2) p:last-of-type 选择属于其父元素的最后 <p> 元素的每个 <p> 元素。
3) p:only-of-type 选择属于其父元素唯一的 <p> 元素的每个 <p> 元素。
4) p:only-child 选择属于其父元素的唯一子元素的每个 <p> 元素。
5) p:nth-child(2) 选择属于其父元素的第二个子元素的每个 <p> 元素。
6) :enabled :disabled 控制表单控件的禁用状态。
7) :checked 单选框或复选框被选中。
CSS3有哪些新特性?
1) CSS3实现圆角(border-radius),阴影(box-shadow),
2) 对文字加特效(text-shadow、),线性渐变(gradient),旋转(transform)
3) transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);// 旋转,缩放,定位,倾斜
4) 增加了更多的CSS选择器 多背景 rgba
5) 在CSS3中唯一引入的伪元素是 ::selection.
6) 媒体查询,多栏布局
7) border-image
3、浏览器渲染过程
答:
JavaScript:
1、把脚本进行压缩(移除不必要的字符,注释以及空行)。
2、对部分js文件进行合并,以减少http的请求个数,以减少服务器端的压力——但是要量力而行,因为如果你的js文件很大,下载很慢的话,很多功能都不能正常进行,我们可以按照业务进行合并。
3、使用外部js文件。因为现在很多浏览器都有缓存,明显会减少http请求数。
4、将脚本放在页面底部。先让用户看到内容,然后再加载js,这样用户会感觉页面加载速度很快。
CSS:
1、合并多个css文件,以减少http的请求个数,以减少服务器端的压力。
2、使用外部css文件。主要原因是浏览器缓存,以减少http请求。
3、放在页面顶部(head标签处),防止出现“无样式内容的闪烁”。
5、js压缩混淆的插件及原理
6、react与传统框架的区别
7、webpack图片和插件的配置