史上最全前端面试题(含答案)

2023-05-16

1.对WEB标准以及W3C的理解与认识
标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外 链css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维 护、改版方便,不需要变动页面内容、提供打印版本而不需要复制内容、提高网站易用性;

2.xhtml和html有什么区别
HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言
最主要的不同:
XHTML 元素必须被正确地嵌套。
XHTML 元素必须被关闭。
标签名必须用小写字母。
XHTML 文档必须拥有根元素。
3.Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?
用于声明文档使用那种规范(html/Xhtml)一般为 严格 过度 基于框架的html文档
加入XMl声明可触发,解析方式更改为IE5.5 拥有IE5.5的bug
4.行内元素有哪些?块级元素有哪些?CSS的盒模型?
块级元素:div p h1 h2 h3 h4 form ul
行内元素: a b br i span input select
Css盒模型:内容,border ,margin,padding
5.CSS引入的方式有哪些? link和@import的区别是?
内联 内嵌 外链 导入
区别 :同时加载
前者无兼容性,后者CSS2.1以下浏览器不支持
Link 支持使用javascript改变样式,后者不可
6.CSS选择符有哪些?哪些属性可以继承?优先级算法如何计算?内联和important哪个优先级高?
标签选择符 类选择符 id选择符
继承不如指定 Id>class>标签选择
后者优先级高
7.前端页面有哪三层构成,分别是什么?作用是什么?
结构层 Html 表示层 CSS 行为层 js
8.css的基本语句构成是?
选择器{属性1:值1;属性2:值2;……}
9.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么?
Ie(Ie内核) 火狐(Gecko) 谷歌(webkit) opear(Presto)
10.写出几种IE6 BUG的解决方法
1.双边距BUG float引起的 使用display
2.3像素问题 使用float引起的 使用dislpay:inline -3px
3.超链接hover 点击后失效 使用正确的书写顺序 link visited hover active
4.Ie z-index问题 给父级添加position:relative
5.Png 透明 使用js代码 改
6.Min-height 最小高度 !Important 解决’
7.select 在ie6下遮盖 使用iframe嵌套
8.为什么没有办法定义1px左右的宽度容器(IE6默认的行高造成的,使用over:hidden,zoom:0.08 line-height:1px)

11.标签上title与alt属性的区别是什么?
Alt 当图片不显示是 用文字代表。
Title 为该属性提供信息

12.描述css reset的作用和用途。
Reset重置浏览器的css默认属性 浏览器的品种不同,样式不同,然后重置,让他们统一

13.解释css sprites,如何使用。
Css 精灵 把一堆小的图片整合到一张大的图片上,减轻服务器对图片的请求数量

14.浏览器标准模式和怪异模式之间的区别是什么?
盒子模型 渲染模式的不同
使用 window.top.document.compatMode 可显示为什么模式

15.你如何对网站的文件和资源进行优化?期待的解决方案包括:
文件合并
文件最小化/文件压缩
使用CDN托管
缓存的使用
16.什么是语义化的HTML?
直观的认识标签 对于搜索引擎的抓取有好处
17.清除浮动的几种方式,各自的优缺点
1.使用空标签清除浮动 clear:both(理论上能清楚任何标签,,,增加无意义的标签)
2.使用overflow:auto(空标签元素清除浮动而不得不增加无意代码的弊端,,使用zoom:1用于兼容IE)
3.是用afert伪元素清除浮动(用于非IE浏览器)
Javascript
1.javascript的typeof返回哪些数据类型
Object number function boolean underfind

2.例举3种强制类型转换和2种隐式类型转换?
强制(parseInt,parseFloat,number)
隐式(== – ===)
3.split() join() 的区别
前者是切割成数组的形式,后者是将数组转换成字符串

4.数组方法pop() push() unshift() shift()
Push()尾部添加 pop()尾部删除
Unshift()头部添加 shift()头部删除

5.事件绑定和普通事件有什么区别

6.IE和DOM事件流的区别
1.执行顺序不一样、
2.参数不一样
3.事件加不加on
4.this指向问题

7.IE和标准下有哪些兼容性的写法
Var ev = ev || window.event
document.documentElement.clientWidth || document.body.clientWidth
Var target = ev.srcElement||ev.target
8.ajax请求的时候get 和post方式的区别
一个在url后面 一个放在虚拟载体里面
有大小限制
安全问题
应用不同 一个是论坛等只需要请求的,一个是类似修改密码的
9.call和apply的区别
Object.call(this,obj1,obj2,obj3)
Object.apply(this,arguments)
10.ajax请求时,如何解释json数据
使用eval parse 鉴于安全性考虑 使用parse更靠谱
12.写一个获取非行间样式的函数
function getStyle(obj,attr,value)
{
if(!value)
{
if(obj.currentStyle)
{
return obj.currentStyle(attr)
}
else
{
obj.getComputedStyle(attr,false)
}
}
else
{
obj.style[attr]=value
}
}
13.事件委托是什么
让利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!
http://www.webasily.com/?p=78 例子可见此链接
14.闭包是什么,有什么特性,对页面有什么影响
闭包就是能够读取其他函数内部变量的函数。
http://blog.csdn.net/gaoshanwudi/article/details/7355794 此链接可查看(问这个问题的不是一个公司)
15.如何阻止事件冒泡和默认事件
canceBubble return false
16.添加 删除 替换 插入到某个接点的方法
obj.appendChidl()
obj.innersetBefore
obj.replaceChild
obj.removeChild
17.解释jsonp的原理,以及为什么不是真正的ajax
动态创建script标签,回调函数
Ajax是页面无刷新请求数据操作
18.javascript的本地对象,内置对象和宿主对象
本地对象为array obj regexp等可以new实例化
内置对象为gload Math 等不可以实例化的
宿主为浏览器自带的document,window 等
19.document load 和document ready的区别
Document.onload 是在结构和样式加载完才执行js
Document.ready原生种没有这个方法,jquery中有 $().ready(function)
20.”==”和“===”的不同
前者会自动转换类型
后者不会
21.javascript的同源策略
一段脚本只能读取来自于同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合
22.编写一个数组去重的方法
function oSort(arr)
{
var result ={};
var newArr=[];
for(var i=0;i

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

史上最全前端面试题(含答案) 的相关文章

  • PX4和Airsim通信操作流程

    坑真几把多 先在Windows上安装UE4和Airsim不再赘述 xff0c 官网都有 虚拟机或其他计算机安装好ubuntu并安装PX4 1 安装PX4的ROS相关包 xff08 mavros xff09 1 第一种 xff1a 进入官网安
  • mavros安装流程(超简单)

    只适用于Ubuntu18 04 在Ubuntu中新建一个空白文本 xff0c 命名为123 sh bin bash Bash script for setting up ROS Melodic with Gazebo 9 developme
  • 安装WSL2+Ubuntu18.04(慢慢更新记录)

    1 安装WSL和Ubuntu WSL官网在此 安装 WSL Microsoft Learn Windows下CMD xff0c 先安装WSL2 wsl install 然后进入Microsoft Store xff0c 搜索Ubuntu然后
  • -bash: ./Setup.sh: Permission denied

    sudo chmod 777 xxx
  • Linux 给文件夹或者文件添加权限

    chmod R 777 文件夹 参数 R是递归的意思 777表示开放所有权限 chmod 777 test sh chmod 43 x 某文件 如果给所有人添加可执行权限 xff1a chmod a 43 x 文件名 xff1b 如果给文件
  • Postman使用笔记——Postman发送get请求

    前言 在实际的开发当中 xff0c 我们经常用到get或者post请求 在这篇博客里面分享一下 xff0c 如何在Postman中发送get请求 发送get请求 1 在Postman工作空间选定get请求 图中我们可以看到很多请求方式 xf
  • jdbc连接mysql数据库的详细步骤

    标题 jdbc连接mysql数据库 1 首先在项目根目录创lLib文件夹 xff0c 放入jdbc驱动程序 xff0c 然后Add As Library 2 建包 bean包 xff1a 专门放置属性类 dao包 xff1a 进行数据操作的
  • css高度从0到auto的transition动画

    如题 xff0c 想实现css高度从0到auto的transition动画 xff0c 发现直接写没有效果 查了一下 xff0c 发现可以用max height解决 xff0c 代码如下 lt DOCTYPE html gt lt html
  • beego打包

    beego打包 在main go 对应的目录下 windows平台 xff1a bee pack be GOOS 61 windows 打包后生成一个tar gz文件 xff0c 发送到部署服务器 xff0c 解压gz为tar xff0c
  • C++求解组合数的具体实现

    文章目录 前言问题起因组合公式公式变形递推公式递归实现备忘递归动态规划压缩DP其他优化 总结补充反向递归正向递推 前言 很少写关于具体算法的总结笔记 xff0c 因为很难把一个算法从头到尾的叙述清晰并且完整 xff0c 容易造成误解 这次想
  • protobuf中SerializeToString和SerializePartialToString的区别

    文章目录 前言proto2message定义message扩展注意事项 proto3序列化SerializeToString和SerializeAsString区别SerializeToString和SerializePartialToSt
  • epoll的LT模式(水平触发)和ET模式(边沿触发)

    文章目录 前言名称的记忆状态变化LT模式ET模式数据的读取和发送代码实践基础代码测试分类怎么解决ET触发了一次就不再触发了 总结 前言 epoll的触发模式是个引发讨论非常多的话题 xff0c 网络上这方面总结的文章也很多 xff0c 首先
  • 参考开源项目实现一个简易的C++枚举转字符串的函数

    文章目录 前言改造函数使用各函数的作用总结 前言 前段时间接触了 magic enum 这个开源库 xff0c 代码量不算太多 xff0c 是一个但头文件的枚举操作库 xff0c 关于如何使用还写了一篇总结 推荐一个C 43 43 枚举转字
  • SVN通过备份、过滤、再导入的方式彻底删除废弃目录

    文章目录 前言简要步骤操作示例总结 前言 SVN占用的空间随着项目版本迭代越来越大 xff0c 因为保存了历史记录中的各个版本 xff0c 所以即使本地把废弃的目录删掉提交 xff0c 也不会释放出多余的空间 xff0c 大概率因为操作删除
  • Nginx返回静态的json字符串

    文章目录 前言修改配置文件返回简单json字符串返回json文件内容 总结 前言 自从上次安装完nginx我把服务器对外开发的端口都通过它来转发了 xff0c 真香 xff0c 最近要加一个获取最新版本号的功能 xff0c 一开始还想写在服
  • 前端笔记25——CSS子元素选择器

    前言 前面分享了后代选择器 xff0c 下面分享一下学到的子元素选择器 子元素选择器 子元素选择器是指选择符合条件的子元素 xff0c 需要运用到 gt 符号 xff0c 下面通过实例来看一下 xff1a lt DOCTYPE html g
  • linux下使用dd命令测试磁盘的读写速度

    文章目录 前言D状态进程dd命令问题原因总结 前言 最近打包更新总是特别慢 xff0c 其中有一步使用md5sum命令计算MD5值的操作有时居然要卡一个小时 xff0c 虽说计算MD5比较耗时 xff0c 但通常计算5个G数据的md5值也就
  • .bat批处理(二):%0 %1——给批处理脚本传递参数

    文章目录 前言内容总结 前言 初次接触批处理脚本觉得有点意思 xff0c 所以决定写一个小功能试验一下 xff0c 谁知刚一开始就发现遇到了麻烦 xff0c 本想着使用参数来控制程序的运行结果 xff0c 可是参数怎么传进去呢 xff0c
  • .bat批处理(三):变量声明、设置、拼接、截取

    文章目录 前言内容总结 前言 在使用批处理脚本的时候我们常常会有这类需求 xff0c 比如需要设置一个变量来存储数据 xff0c 简化程序书写 xff1b 拼接现有的内容得到新的变量 xff1b 截取变量的一部分来满足我们的要求 xff0c
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法

    前言 首先说这是一个链接错误而不是编译错误 xff0c 造成这种问题的根本原因就是找得到函数的声明 xff0c 但是找不到函数的实现 xff0c 这是最根本的 xff0c 具体的表现形式有很多 xff0c 我们稍后再做分析 xff0c 下面

随机推荐

  • mysql 诡异的1054错误

    前言 今天在工作中遇到一个非常坑爹的问题 xff0c 有关Mysql的异常处理 xff0c 花费了我好几个小时的时间 xff0c 最后终于解决了 xff0c 然后根据出现的问题的原因 xff0c 逆向来看自己解决问题的过程 xff0c 发现
  • float的精度和取值范围

    文章目录 前言精度限制float存储方式float存储示例float范围float精度float小数float特殊值总结 前言 关于float的精度和取值范围这个问题 xff0c 我查询了很多次 xff0c 每次都是用完就忘了 xff0c
  • iOS LocateMap(地图定位)~demo

    联系人 石虎 QQ 1224614774 昵称 嗡嘛呢叭咪哄 注意点 1 看 GIF 效果图 2 看连线视图的效果图 3 看实现代码 直接复制 实现效果 一 GIF 效果图 二 连线视图的效果图 图1 图2 三 实现代码 61 61 61
  • Echarts visualMap:piece划分方法

    给一个中国地图或者任意州市 区县的地图将其划分为几个部分 例如 xff1a 云南有16个州市 每四个一组 xff0c 最多划分为5组就划分为 xff1a 1 4 5 8 xff0c 9 12 13 16 1 需要注意的问题 前面循环赋值就可
  • wav转pcm格式

    批量wav格式音频转换pcm格式音频 import os path 61 39 audio 1 39 原始音频路径 new path pcm 61 39 audio new pcm 39 存储pcm音频路径 dir path 61 os g
  • 【STM32技巧】CubeMX 生成的代码单片机不能正常运行

    问题描述 xff1a 正常库文件写的代码没有问题正常使用CubeMX生成的HAL代码能够成功下载但是不能正常运行 原因分析 xff1a 用到了 printf 函数如果确实使用了 printf 函数后极大概率没有勾选 Use MicroLIB
  • 前端笔记31——在自己的网页中嵌入百度搜索框

    前言 在前面我分享了我学习到的表单知识 xff0c 我也明白了我们常见的百度搜索框也是通过表单去实现的 下面分享一下在自己的网页中嵌入百度搜索框 在自己的网页中嵌入百度搜索框 lt DOCTYPE html gt lt html gt lt
  • Jupyter Notebook 安装

    安装Jupyter Notebook的前提是需要安装了Python xff08 3 3版本及以上 xff0c 或2 7版本 xff09 Windows 1 安装 在cmd命令提示符窗口中 xff0c 输入 pip install jupyt
  • win10照片打不开,解决方法

    1 将以下代码另存为reg文件 xff0c 之后双击运行reg文件 xff0c 一路确认 xff0c 修改好注册表 Windows Registry Editor Version 5 00 Change Extension 39 s Fil
  • 安装anaconda之后没有conda命令

    问题 安装anaconda之后没有conda命令 解决 span class token function export span PATH span class token operator 61 span home xxx anacon
  • VsCode怎么运行html界面

    一般我们安装完VsCode需要安装很多插件 若是想在vscode运行我们编好的代码在各浏览器进行运行修改bug 如下图 xff1a 那么我们可以安装两个插件 xff1a xff1a open in browers 使用它的方式有alt 43
  • iOS开发中tableView中的单独刷新一行或者是某一个Section

    更换出生日期 CommonMediator shareMediator self presentToFPickViewPage birthday block NSArray retuanArray birthday 61 retuanArr
  • 火狐浏览器中的flex-box与position冲突的解决

    最近做了一个公司的分享页面 xff0c 上面的导航栏 xff0c 是采用flex box和position的绝对定位 xff0c 进行实现的 xff0c 在chrome和safair中的实现的都是好的 xff0c 本来以为万事大吉 xff0
  • Error: Cannot find module 'core-js/fn/array/values' at Function.Module._resolveFilename (module

    rm rf node modules npm install
  • 问 npm start 和node ./bin/www有什么区别?

    npm start 运行的是package json中script块start对应的命令 使用node bin www就是直接执行其中的bin文件其中的www进行设置
  • 使用Yomail的时候出现的错误解决方案

    网易邮箱 包括163 126 yeah net 有时出现登录失败 xff0c 错误提示有 xff1a 1 YoMail提示 xff1a LOGIN Login error user suspended 原因 xff1a 出现这个提示 xff
  • iframe是什么?iframe用法详解。

    经常和网站打交道或者经常建站的朋友对iframe肯定不陌生 xff0c 网站有了iframe会变得更加美观 大气 对于初涉互联网的新手来说 xff0c iframe并不熟悉 xff0c 那么iframe到底是什么 xff1f iframe用
  • Android开发——打包apk遇到The destination folder does not exist or is not writeable

    前言 在日常的Android开发当中 xff0c 我们肯定要打包apk 但是今天我打包的时候遇到一个很奇怪的问题Android The destination folder does not exist or is not writeabl
  • 前端工程师面试题目以及答案

    HTML CSS部分 1 什么是盒子模型 xff1f 在网页中 xff0c 一个元素占有空间的大小由几个部分构成 xff0c 其中包括元素的内容 xff08 content xff09 xff0c 元素的内边距 xff08 padding
  • 史上最全前端面试题(含答案)

    1 对WEB标准以及W3C的理解与认识 标签闭合 标签小写 不乱嵌套 提高搜索机器人搜索几率 使用外 链css和js脚本 结构行为表现的分离 文件下载与页面速度更快 内容能被更多的用户所访问 内容能被更广泛的设备所访问 更少的代码和组件 x