web前端高频知识点面试题有哪些

发布时间:2023-03-07 09:50:03 作者:iii
来源:亿速云 阅读:84

Web前端高频知识点面试题有哪些

目录

  1. HTML
  2. CSS
  3. JavaScript
  4. ES6+
  5. TypeScript
  6. Vue.js
  7. React
  8. Node.js
  9. Webpack
  10. 性能优化
  11. 浏览器原理
  12. 网络协议
  13. 安全
  14. 数据结构与算法
  15. 设计模式
  16. 前端工程化
  17. 跨平台开发
  18. 其他

HTML

1. HTML5 新特性有哪些?

HTML5 引入了许多新特性,主要包括:

2. 什么是语义化标签?为什么要使用语义化标签?

语义化标签是指使用具有明确含义的 HTML 标签来描述页面内容的结构。例如,使用 <header> 表示页面的头部,使用 <footer> 表示页面的底部。

为什么要使用语义化标签?

3. HTML 中的 <meta> 标签有哪些常见用途?

<meta> 标签用于提供页面的元数据,常见的用途包括:

4. HTML 中的 <script> 标签的 asyncdefer 属性有什么区别?

<script> 标签的 asyncdefer 属性都用于控制脚本的加载和执行顺序,但它们的行为有所不同:

使用场景:

5. HTML 中的 <iframe> 标签有什么作用?如何使用?

<iframe> 标签用于在页面中嵌入另一个 HTML 页面。常见的用途包括嵌入地图、视频、广告等。

基本用法:

<iframe src="https://www.example.com" width="600" height="400"></iframe>

常用属性:

6. HTML 中的 <canvas><svg> 有什么区别?

<canvas><svg> 都用于在网页中绘制图形,但它们的工作原理和适用场景有所不同:

7. HTML 中的 <form> 标签有哪些常用属性?

<form> 标签用于创建表单,常见的属性包括:

8. HTML 中的 <input> 标签有哪些常用类型?

<input> 标签用于创建各种输入控件,常见的类型包括:

9. HTML 中的 <label> 标签有什么作用?

<label> 标签用于为表单控件添加标签,提升用户体验和可访问性。通过 for 属性将 <label> 与对应的表单控件关联起来,点击标签时可以聚焦到对应的控件。

示例:

<label for="username">用户名:</label>
<input type="text" id="username" name="username">

10. HTML 中的 <table> 标签有哪些常用子标签?

<table> 标签用于创建表格,常见的子标签包括:

示例:

<table>
  <thead>
    <tr>
      <th>姓名</th>
      <th>年龄</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>张三</td>
      <td>25</td>
    </tr>
    <tr>
      <td>李四</td>
      <td>30</td>
    </tr>
  </tbody>
</table>

CSS

1. CSS 盒模型是什么?标准盒模型和 IE 盒模型有什么区别?

CSS 盒模型是用于描述元素在页面中占据空间的模型,包括内容区域、内边距、边框和外边距。

标准盒模型(W3C 盒模型): - 元素的宽度和高度只包括内容区域,不包括内边距、边框和外边距。 - 计算公式:width = content width

IE 盒模型(怪异盒模型): - 元素的宽度和高度包括内容区域、内边距和边框,但不包括外边距。 - 计算公式:width = content width + padding + border

如何切换盒模型:

/* 标准盒模型 */
box-sizing: content-box;

/* IE 盒模型 */
box-sizing: border-box;

2. CSS 中的 position 属性有哪些值?它们有什么区别?

position 属性用于指定元素的定位方式,常见的值包括:

3. CSS 中的 display 属性有哪些常用值?它们有什么区别?

display 属性用于指定元素的显示方式,常见的值包括:

4. CSS 中的 float 属性有什么作用?如何清除浮动?

float 属性用于使元素浮动在页面的左侧或右侧,常用于实现文字环绕图片的效果。

清除浮动的方法:

.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

5. CSS 中的 flexbox 布局有哪些常用属性?

flexbox 是一种弹性盒子布局模型,常用的属性包括:

6. CSS 中的 grid 布局有哪些常用属性?

grid 是一种网格布局模型,常用的属性包括:

7. CSS 中的 BEM 命名规范是什么?

BEM 是一种 CSS 命名规范,全称为 Block Element Modifier,用于提高 CSS 代码的可维护性和可读性。

示例:

<div class="header">
  <div class="header__logo"></div>
  <div class="header__menu">
    <div class="header__menu__item header__menu__item--active"></div>
  </div>
</div>

8. CSS 中的 伪类伪元素 有什么区别?

示例:

/* 伪类 */
a:hover {
  color: red;
}

/* 伪元素 */
p::before {
  content: "前缀";
}

9. CSS 中的 媒体查询 是什么?如何使用?

媒体查询用于根据设备的特性(如屏幕宽度、分辨率)应用不同的样式,常用于响应式设计。

示例:

/* 当屏幕宽度小于 600px 时应用此样式 */
@media (max-width: 600px) {
  body {
    background-color: lightblue;
  }
}

10. CSS 中的 动画过渡 有什么区别?

示例:

/* 动画 */
@keyframes slide {
  from { transform: translateX(0); }
  to { transform: translateX(100px); }
}

.element {
  animation: slide 2s infinite;
}

/* 过渡 */
.element {
  transition: background-color 0.5s ease;
}

.element:hover {
  background-color: red;
}

JavaScript

1. JavaScript 中的数据类型有哪些?

JavaScript 中的数据类型分为两大类:原始类型引用类型

2. JavaScript 中的 ===== 有什么区别?

示例:

1 == '1';  // true
1 === '1'; // false

3. JavaScript 中的 闭包 是什么?有什么作用?

闭包是指函数能够访问其词法作用域中的变量,即使函数在其词法作用域之外执行。

作用:

示例:

function createCounter() {
  let count = 0;
  return function() {
    count++;
    return count;
  };
}

const counter = createCounter();
console.log(counter()); // 1
console.log(counter()); // 2

4. JavaScript 中的 原型链 是什么?

原型链是 JavaScript 中实现继承的机制。每个对象都有一个原型对象,通过 __proto__ 属性指向其原型对象。当访问对象的属性或方法时,如果对象本身没有该属性或方法,JavaScript 会沿着原型链向上查找,直到找到该属性或方法或到达原型链的顶端(null)。

示例:

function Person(name) {
  this.name = name;
}

Person.prototype.sayHello = function() {
  console.log(`Hello, ${this.name}`);
};

const person = new Person('Alice');
person.sayHello(); // Hello, Alice

5. JavaScript 中的 this 指向什么?

this 的指向取决于函数的调用方式:

示例:

const obj = {
  name: 'Alice',
  sayHello: function() {
    console.log(`Hello, ${this.name}`);
  }
};

obj.sayHello(); // Hello, Alice

6. JavaScript 中的 事件循环 是什么?

事件循环是 JavaScript 处理异步操作的机制。JavaScript 是单线程的,但通过事件循环可以实现非阻塞的异步操作。

事件循环的工作流程:

  1. 执行同步代码:首先执行所有的同步代码。
  2. 处理微任务:执行所有的微任务(如 Promisethen 回调)。
  3. 处理宏任务:执行一个宏任务(如 setTimeout 回调)。
  4. 重复:重复上述步骤,直到所有任务执行完毕。
推荐阅读:
  1. web前端有哪三大核心方法
  2. web前端面试常见算法题有哪些

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

web前端

上一篇:电脑u盘错误0x80071ac3如何解决

下一篇:用node如何实现缓存

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》