2023前端面试深度解析:rem与em、Git、SQL与作用域
需积分: 5 70 浏览量
更新于2024-08-03
收藏 7KB MD 举报
"这是一份关于前端高级面试题目的2023年更新版文档,包含了rem与em的区别、Git常用命令、SQL语句的分类、如何创建无原型对象以及JavaScript作用域等核心知识点。"
### 1、rem与em的区别
在前端开发中,rem(root em)和em都是用于设置元素尺寸的单位,但它们的参照对象不同。rem是相对于根元素(通常是html元素)的font-size来计算的,而em则是相对于父元素的font-size来计算。例如,如果html元素的font-size设置为12px,一个div的font-size设置为2rem,那么这个div的字体大小将是24px。相反,如果在一个font-size为12px的p元素内,有一个font-size设置为2em的span,span的字体大小将被设置为24px。
### 2、Git常用命令
Git是版本控制系统,这些命令是日常开发中常用的:
- `git clone`:从远程仓库克隆项目到本地。
- `git add`:添加文件到暂存区,`.`表示添加所有改动。
- `git commit -m` 或 `git commit -a`:提交更改,-m后跟提交信息,-a表示自动添加所有修改过的文件。
- `git status -s`:简洁地显示工作区的状态。
- `git fetch`/`git merge` 或 `git pull`:拉取并合并远程分支的最新更改。
- `git reflog`:查看提交历史记录。
### 3、SQL语句的分类
SQL语言分为四大类:
- DDL(Data Definition Language):数据定义语言,包括`CREATE`、`DROP`、`ALTER`等,用于数据库结构的创建、删除和修改。
- DCL(Data Control Language):数据控制语言,如`GRANT`,用于权限管理和访问控制。
- DML(Data Manipulation Language):数据操纵语言,包括`INSERT`、`UPDATE`、`DELETE`,用于插入、更新和删除数据。
- DQL(Data Query Language):数据查询语言,以`SELECT`为主,用于检索和查询数据。
### 4、如何创建一个没有prototype(原型)的对象?
在JavaScript中,通常每个对象都有一个原型链,但通过`Object.create(null)`可以创建一个没有原型的对象。这样做的对象不会有内置的方法,例如在上述示例中,尝试调用`o2.toString()`会抛出错误,因为`o2`没有继承任何原型的方法。
### 5、什么是作用域?
JavaScript的作用域规定了变量和函数的可见性和生命周期。主要有以下三种:
- 全局作用域:在函数外部定义的变量和函数,可以在整个脚本中访问。
- 函数作用域:在函数内部定义的变量和函数仅在该函数内部可见。
- 块作用域(ES6):由`let`和`const`关键字定义的变量在它们所在的代码块内有效,而不是整个函数,这是ES6引入的新特性。
理解并掌握这些知识点对于前端开发者来说至关重要,尤其是在面试中,它们经常作为考察开发者基础和实践经验的标准问题出现。
482 浏览量
2024-03-31 上传
小嗷犬
- 粉丝: 3w+
- 资源: 1347
最新资源
- 平尾装配工作平台运输支撑系统设计与应用
- MAX-MIN Ant System:用MATLAB解决旅行商问题
- Flutter状态管理新秀:sealed_flutter_bloc包整合seal_unions
- Pong²开源游戏:双人对战图形化的经典竞技体验
- jQuery spriteAnimator插件:创建精灵动画的利器
- 广播媒体对象传输方法与设备的技术分析
- MATLAB HDF5数据提取工具:深层结构化数据处理
- 适用于arm64的Valgrind交叉编译包发布
- 基于canvas和Java后端的小程序“飞翔的小鸟”完整示例
- 全面升级STM32F7 Discovery LCD BSP驱动程序
- React Router v4 入门教程与示例代码解析
- 下载OpenCV各版本安装包,全面覆盖2.4至4.5
- 手写笔画分割技术的新突破:智能分割方法与装置
- 基于Koplowitz & Bruckstein算法的MATLAB周长估计方法
- Modbus4j-3.0.3版本免费下载指南
- PoqetPresenter:Sharp Zaurus上的开源OpenOffice演示查看器