返回
前端面试题集每日一练Day3:攻克难关,成就前端大神之路
前端
2023-11-26 23:14:52
前端工程师是当下炙手可热的技术岗位之一,想要成为一名优秀的前端工程师,不仅需要扎实的基础功底,还需要具备快速学习和解决问题的能力。而前端面试题集每日一练就是帮助您快速提升前端技能的利器。
## 前端面试题集每日一练Day3
**1. script标签中defer和async属性的区别?**
defer和async都是HTML5中script标签的属性,它们都允许浏览器异步加载脚本,但它们之间还是存在一些区别的:
* defer属性:当浏览器解析到带有defer属性的script标签时,它会立即下载脚本文件,但不会立即执行。脚本文件下载完成后,浏览器会在DOMContentLoaded事件触发后执行脚本。
* async属性:当浏览器解析到带有async属性的script标签时,它会立即下载脚本文件,并且会在下载完成后立即执行脚本。这意味着async脚本的执行顺序不受其他脚本的影响,也不受DOM加载状态的影响。
**2. 单行/多行文本溢出可以怎么处理?**
当文本溢出元素的边界时,我们可以使用以下方法来处理:
* **使用CSS属性text-overflow:** text-overflow属性允许我们控制文本在溢出元素边界时如何显示。我们可以使用以下值来设置text-overflow属性:
* clip:文本被裁剪,不会显示溢出的部分。
* ellipsis:文本被省略,并在末尾显示省略号(...)。
* visible:文本完全显示,不会被裁剪或省略。
* **使用CSS属性overflow:** overflow属性允许我们控制元素中内容的溢出方式。我们可以使用以下值来设置overflow属性:
* visible:内容完全显示,不会被裁剪或隐藏。
* hidden:内容被隐藏,不会显示溢出的部分。
* scroll:在元素中显示滚动条,允许用户滚动查看溢出的内容。
* **使用JavaScript:** 我们可以使用JavaScript来动态调整元素的宽高,以避免文本溢出。例如,我们可以使用以下代码来调整元素的宽度,以适应文本的长度:
var element = document.getElementById('element');
element.style.width = element.scrollWidth + 'px';
**3. undefined和null的区别?typeof null的结果为什么是object?**
* **undefined:** undefined表示变量尚未被赋值。
* **null:** null表示一个空对象引用。
typeof null的结果之所以是object,是因为在JavaScript中,null被认为是一个特殊的对象。这主要是为了兼容其他编程语言,例如C++和Java,在这些语言中,null也是一个对象。
## 结语
前端面试题集每日一练旨在帮助您快速提升前端技能,掌握前端面试的必备知识。通过每天练习一道题目,您将逐渐积累前端知识,并提高解决问题的能力。持之以恒,您终将成为一名优秀的前端工程师!