以下是一些常见的前端面试题和答案:
- 什么是盒模型?它有哪些属性?
答:盒模型指的是 HTML 元素的矩形框,包括内容、填充、边框和边距。盒模型有两种类型:标准盒模型和 IE 盒模型。标准盒模型的宽度和高度仅指内容区域的宽度和高度,而 IE 盒模型的宽度和高度包括了填充和边框。盒模型的属性有 width、height、padding、border、margin 等。
- 什么是闭包?它有什么作用?
答:闭包是指在一个函数内部定义的函数,它可以访问外部函数的变量和参数,并且可以在函数外部被调用。闭包的作用包括:封装变量、保护变量不受外界干扰、实现模块化等。
- 什么是 AJAX?它的优点是什么?
答:AJAX 是指使用 JavaScript 和 XML 来异步发送请求和接收响应的技术。它的优点包括:减少页面的刷新,提高用户体验;减轻服务器的压力;提高代码的可维护性和可扩展性。
- 什么是跨域?如何解决跨域问题?
答:跨域是指在一个域名下的文档或脚本试图去请求另一个域名下的资源。跨域问题可以通过以下几种方式来解决:JSONP、CORS、postMessage、使用代理服务器等。
- 什么是事件冒泡和事件捕获?它们之间的区别是什么?
答:事件冒泡是指事件从最具体的元素开始向上传播,直到文档的根节点。事件捕获则是从文档的根节点开始,向下传播直到最具体的元素。它们之间的区别在于事件处理机制的顺序不同,冒泡是从内向外,而捕获是从外向内。
以上是一些常见的前端面试题和答案,希望可以帮助到你!