前端-面试题目总结

  1. html5新增加的标签?
    1、结构标签
    (1)section:独立内容区块,可以用h1~h6组成大纲,表示文档结构,也可以有章节、页眉、页脚或页眉的其他部分;
    (2)article:特殊独立区块,表示这篇页眉中的核心内容;
    (3)aside:标签内容之外与标签内容相关的辅助信息;
    (4)header:某个区块的头部信息/标题;
    (5)hgroup:头部信息/标题的补充内容;
    (6)footer:底部信息;
    (7)nav:导航条部分信息
    (8)figure:独立的单元,例如某个有图片与内容的新闻块。
    2、表单标签
    (1)email:必须输入邮件;
    (2)url:必须输入url地址;
    (3)number:必须输入数值;
    (4)range:必须输入一定范围内的数值;
    (5)Date Pickers:日期选择器;
    (6)search:搜索常规的文本域;
    (7)color:颜色
    3、媒体标签
    (1)video:视频
    (2)audio:音频
    (3)embed:嵌入内容(包括各种媒体),Midi、Wav、AU、MP3、Flash、AIFF等。
    4、其他功能标签
    (1)mark:标注(像荧光笔做笔记)
    (2)progress:进度条;
    (3)time:数据标签,给搜索引擎使用;发布日期更新日期
    (4)ruby和rt:对某一个字进行注释;注释内容浏览器不支持时如何显示
    (5)wbr:软换行,页面宽度到需要换行时换行;
    (6)canvas:使用JS代码做内容进行图像绘制;
    (7)command:按钮;
    (8)deteils :展开菜单;
    (9)dateilst:文本域下拉提示;
    (10)keygen:加密;

  2. html那些是内联标签那些是块级标签列举出来?
    内联标签:span i strong a label
    块级标签:div p form h1-6 table
    内联块状:input img

  3. string和数组的常用方法有哪些,及其作用是什么?
    字符串:
    a,通过下标找对应的字符
    charAt(index):通过下标找对应的字符。
    charCodeAt(index):通过下标找对应的字符编码。

b,通过字符找下标
indexOf(searchString,startIndex):返回子字符串第一次出现的位置,从startIndex开始查找,找不到时返回-1。(兼容的)数组里面的(indexOf())方法是不兼容的。
lastIndexOf(searchString,startIndex):从后面往前面找,找不到时返回-1。

c,字符串截取
slice(start,end):返回值:[start,end) 也就是说返回从start到end-1的字符, start参数可正可负,负数代表从右截取。
substr(start,length):start参数可正可负,负数代表从右截取。
substring(start,end): 两个参数都为正数,返回值:[start,end) 也就是说返回从start到end-1的字符。
*除了 slice() 和 substr() 方法里的负值是代表从右截取,其他方法里的负值一律作为0处理

d,字符串转数组
str.split(separator,limit); 参数1指定字符串或正则,参照2指定数组的最大长度
 例:str.split(""); 每个字符都被分割 [’’,’’,’’,’’]
   str.split(); 整个字符串放到数组里 [’’]
   
e,字符串转大小写
toUpperCase():转大写
toLowerCase():转小写

f,字符串替换
str.replace(rgExp/substr,replaceText) 返回替换后的字符串

g,字符串匹配
str.match(rgExp); 正则匹配

数组:
push:向数组的末尾增加一项 返回值是数组的新长度
unshift:向数组开头增加一项 返回值是数组的新长度
pop:删除数组的末尾项 返回值是删除的数组项
shift:删除数组开头项 返回被删除的开头项目
splice:删除数组中的任意项 返回值是被删除的数组项
slice:复制数组 返回值是复制到的新数组 写上数值之后 不包含被复制的最后一项

拼接:
concat:把一个数组和另一个数组拼接在一起 返回拼接好的数组
join:把数组中的每一项 按照指定的分隔符拼接成字符串

排序:
reverse:倒序数组 返回值倒序数组 原有数组改变
sort:根据匿名函数进行冒泡排序 b-a倒序 a-b升序

兼容性不好:
indexOf:返回获取项在数组中的索引
lastIndexOf:返回获取项在数组中出现的最后一次索引
forEach: 循环遍历数组 参数是一个匿名函数 默认返回为undefined
map:循环遍历数组 参数是一个匿名函数

跟正则匹配的方法
split():切割字符串方法
match():找到的情况下,把你要找的内容提出来,找不到返回null
replace('',''):后面替换前面,返回替换的数组
search()找到的情况下,返回对应内容的索引,找不到就返回-1
  1. 浮动的原理?清除浮动的方式?

  2. 各自的优缺点?

  3. css选择器的优先级如何计算?

  4. px em rem的区别?

  5. 重排和重绘如何减少?

  6. cookies localstroage sessionstroage的区别

  7. call和apply的使用?

  8. js代码如何去做优化处理?

  9. typeof返回的数据类型?当一个变量是null {} 0和字符串其中的一种需要如何判断,请写出代码?

  10. 闭包是什么?有什么特性,对页面有什么影响?

  11. BOM常用的对象,window常用的对象?

  12. 什么是同步和异步?

  13. 在js代码中按顺序发起三个异步请求,请说出异步请求中回调函数执行的顺序,并说明理由?如需要让三个请求按照一定顺序来执行需要如何处理,请写出原生js和es7下的代码实现方法。

  14. js添加 删除 替换节点的方法?

  15. 获取页面中所有的checkbox?用原生js写出:勾选页面中所有的checkbox?

  16. 事件委托是什么?

  17. 请解释解决跨域问题的过程以及解释的原理,以及为什么不是真正的ajax?

  18. 什么是Ajax,json 和 jsonp,他们的优缺点,什么是websockets?

  19. ajax的工作原理是什么,ajax请求如何解析json数据?

  20. ajax请求的时候get和post方式的区别?分别写出jquery和原生js事件异步请求的相关代码?

  21. 前端性能优化?

  22. vue的理解和其他框架比较的优缺点?

  23. vue中父子组件如何实现传值?

  24. mvvm框架是什么?它和其它框架(jquery)的区别是什么?那些场景适合?

  25. 双向数据绑定的原理?

  26. js写出冒泡排序,输出降序数组?

  27. 编写js方法,找出数组arr中重复出现过的元素?

  28. 一个数组,如何优雅的取前50个元素实现累加?

   for(var i=0;i<=3; i++){setTimeOut(function(){
    	console.log(i)
    })}
  1. 前端自动化构建工具能做什么?你用他们做什么?

  2. 了解下hybrid是个什么鬼?

  3. 技术遇见问题一般怎么寻找答案?

  4. 如何解决手机端页面跳转白屏?

  5. 你使用过模板引擎吗?简述模板引擎的原理?

  6. vue中,想要组件创建之后,模板渲染之后执行方法,应该在vue的什么方法中?

  7. vue的$nextTick方法有什么作用?使用的场景?

  8. vue中computed和watch有什么区别?如何监控一个数组内数据变化而不是长度变化?

  9. vue中,不同组件具有相同的方法或者属性时,如何通用?

  10. vuex?

  11. vue嵌套路由?路由的引入方式有那些?有什么不同?

  12. 指出document load和document ready的区别?

  13. 什么是css hack?

  14. 你如何获取浏览器url中的查询字符串中的参数?

  15. 写出this的三个典型应用?

  16. $(this)和this关键字在jquery中有何不同?

  17. jquery有几种选择器?

  18. 写出一个简单的$.ajax()请求方式?

  19. react和vue比较来说有什么区别?

在这里插入图片描述
. 在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值