前军教程网

中小站长与DIV+CSS网页布局开发技术人员的首选CSS学习平台

面试的信心来源于过硬的基础,自己的纯干货,面试成功分享给大家

在过去的一年很多人不满于公司没有福利、人际关系不好相处、没有发展前途的境遇等等,想着在开年来换一份工作来重新开始自己,那么 你 准备好了吗?

下面是本人整理的一份面试材料,本想自己用的,但是新年第一天 公司突然给了我个惊喜,涨工资了!!!

1、 viewport


延伸 提问

怎样处理 移动端 1px 被 渲染成 2px 问题

2、跨域的几种方式


首先了解下浏览器的同源策略

同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSRF等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。

那么怎样解决跨域问题的呢?

3、 渲染优化


4、事件的各个阶段


5、let var const


6、箭头函数


语法比函数表达式更短,并且不绑定自己的this,arguments,super或 new.target。这些函数表达式最适合用于非方法函数,并且它们不能用作构造函数。

7、快速的让一个数组乱序


此处解释:(语言组织能力不足,请勿吐槽)

8、字体font-family


9、可能用到的meta标签


10、消除transition闪屏


11、android 4.x bug


12、JS 判断设备来源


13、audio元素和video元素在ios和andriod中无法自动播放


14、css实现单行文本溢出显示 ...


直接上效果:相对于多行文本溢出做处理, 单行要简单多,且更容易理解。

实现方法

适用范围:

因使用了WebKit的CSS扩展属性,该方法适用于WebKit浏览器及移动端;

注:

  1. -webkit-line-clamp用来限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他的WebKit属性。常见结合属性:

  2. display: -webkit-box; 必须结合的属性 ,将对象作为弹性伸缩盒子模型显示 。

  3. -webkit-box-orient 必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 。

如果你觉着这样还不够美观, 那么就接着往下看:

效果:

这样 是不是你想要的呢?

实现方法:

不要只顾着吃,要注意胃口,此方法有个弊端 那就是 【未超出行的情况下也会出现省略号】 ,这样会不会很挫!!! 没办法,只能结合JS 进行优化该方法了。

注:

  1. 将height设置为line-height的整数倍,防止超出的文字露出。

  2. 给p::after添加渐变背景可避免文字只显示一半。

  3. 由于ie6-7不显示content内容,所以要添加标签兼容ie6-7(如:<span>…<span/>);兼容ie8需要将::after替换成:after。

16、让图文不可复制


这点应该大家 都很熟悉了, 某些时候【你懂的】为了快捷搜索答案,可是打死也不让你复制

那有些网页为了尊重原创,复制的文本 都会被加上一段来源说明,是如何做到的呢?问的好! 等的就是你这个问题 -_- 。

大致思路:

  • 1、答案区域监听copy事件,并阻止这个事件的默认行为。

  • 2、获取选中的内容(window.getSelection())加上版权信息,然后设置到剪切板(clipboarddata.setData())。

17、盒子垂直水平居中


这个问题好像面试必问的吔!反正我是必问的,哈哈!!! 其实无关多少种实现思路,只要你能实现就可以!

18、改变placeholder的字体颜色大小


其实这个方法也就在PC端可以,真机上屁用都没有,当时我就哭了。 但 还是贴出来吧

19、最快捷的数组求最大值


20、更短的数组去重写法


21、 vue 父子组件嵌套时,组件内部的各个生命周期钩子触发先后顺序


首先 我们可以把 子组件当做function函数来看待,当父组件 import 子组件的时候, 就当是声明了 并加载了这个函数,

在调用的时候才会去执行这个函数(子组件)。那么父子组件中的各个声明周期钩子触发的先后顺序是怎样的呢?

如下图:

下图带222 的 是为子组件,所以一次顺序是为 先创建父组件,然后才穿件子组件,当子组件创建完成并且实体dom挂载完成后父组件才挂载完成

注:资源来源于自己长期收集整理而来,如有和其他网站和论坛相同部分,在此抱歉!

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言