![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
前端面试题
前端面试总结
涂鸦1998
难得不会,会的不难!
展开
-
js浅拷贝与深拷贝
概念浅拷贝:只拷贝最外面一层的数据;更深层次的对象,只拷贝引用。深拷贝:拷贝多层数据;每一层级别的数据都会拷贝。总结:拷贝引用的时候,是属于传址,而非传值。关于传值和传址的区别,是很基础的内容,详见《JavaScript 基础/对象简介.md》这篇文章。深拷贝会把对象里所有的数据重新复制到新的内存空间,是最彻底的拷贝。浅拷贝的实现方式用 for in 实现浅拷贝(比较繁琐)const obj1 = { name: 'qianguyihao', age: 28,原创 2021-03-17 16:52:15 · 159 阅读 · 0 评论 -
a链接的四种状态:link、visited、hover、active
a链接的四种状态伪类是CSS 用于向某些选择器添加特殊的效果。a标签中有四个:link、visited、hover、active(1)link-设置a对象在未被访问前的样式表属性。(2)visited-设置a对象在其链接地址已被访问过时的样式表属性。(3)hover–设置对象在其鼠标悬停时的样式表属性。(4)active-设置对象在被用户激活(在鼠标点击与释放之间发生的事件)时的样式表属性。定义CSS时候的顺序不同,也会直接导致链接显示的效果不同。原因可能在于浏览器解释CSS时遵循的“就近原原创 2021-03-17 16:26:10 · 11345 阅读 · 0 评论 -
JS中的显式转换
显式转换显示转换一般指使用Number、String和Boolean三个构造函数,手动将各种类型的值,转换成数字、字符串或者布尔值。搬运工参考博客1参考博客2原创 2021-03-17 16:01:28 · 111 阅读 · 0 评论 -
前端面试题汇总
前端面试题汇总别人给的170多页面试题汇总,包含方方面面。分享一下。原创 2021-03-17 15:55:34 · 133 阅读 · 0 评论 -
js隐式转换
隐式转换规则转成string类型: +(字符串连接符) 2…转成number类型:++/–(自增自减运算符) + - * / %(算术运算符) > < >= <= == != === !=== (关系运算符)转成boolean类型:!(逻辑非运算符)坑一:字符串连接符与算术运算符隐式转换规则混淆坑二:关系运算符:会把其他数据类型转换成number之后再比较关系坑三:复杂数据类型在隐式转换时会先转成String,然后再转成Number运算坑四:逻辑非隐式转换与关系运算转载 2021-03-17 15:48:21 · 60 阅读 · 0 评论 -
阻止事件冒泡和取消默认事件
阻止事件冒泡function stopBubble(event) { var e = arguments.callee.caller.arguments[0]||event; //若省略此句,下面的e改为event,IE运行可以,但是其他浏览器就不兼容 if (e && e.stopPropagation) { //如果提供了事件对象,则这是一个非IE浏览器 console.log('非IE浏览器取消事件冒泡'); e.stopP.原创 2021-03-17 13:41:17 · 64 阅读 · 0 评论 -
前端图片加载优化问题
1、选择合适的图片格式2、图片压缩3、精灵图(雪碧图)4、自动优化:CDN5、使用svg技术替换图片6、用css和css3制作简单的图标和动画代替gif7、用字体图标库代替图片。8、图片延迟加载。(懒加载)9、将图片压缩成base64格式来节约请求...原创 2021-03-16 20:40:47 · 142 阅读 · 0 评论 -
Http状态码
Http状态码方便记忆的方法和常见状态码,HTTP状态码分类2XX 请求成功3XX 重定向4XX 客户端错误5XX 服务器错误方便记忆的方法和常见状态码1××(“继续努力”) => 表示接收到请求并且继续处理2××(“开心”) => 表示动作被成功接收、理解和接受3××(“又要跑一趟”) => 为了完成指定的动作,必须接受进一步处理4××(“自己的问题自己解决”) => 客户端发生错误,请求中包含错误语法,请求不能被正确执行5××(“服务不到位”)转载 2021-03-16 20:18:25 · 73 阅读 · 0 评论