前端面试题之js篇
前端面试也可为是鱼龙混杂,各公司面试题的种类也大不相同,有的公司注重基础语法,面试题偏于ES,有的公司偏于页面逻辑,会考差一些js的应用,现将遇到过的题和典型的题整理一下。
1. 0.2-0.1 == 0.3-0.2 返回值为true or false
题解:此题考查的时浮点数的加减
2. 截取字符串中 'abcdefgh'中的def
题解:此题考查的是字符串函数 substring(),substr(),slice()的用法
3. 统计字符串中出现最多的字符与出现的次数 str = 'asdfgertydfgsdfsdfertasdfvbsdf'。
题解:
var json = {};
for( var i = 0; i < str.length; i++ ){
if(!json[str[i]]){
json[str[i]] = 1;
}else{
json[str[i]] = ++json[str[i]]
}
}
到此为止已经将个字符出现的次数记录到json变量中,接下来要遍历json,找出出现次数最多的字符与次数
var maxstr, max = 0;
for( var j in json ){
if( json[j] > max ){
max = json[j];
maxstr = j;
}
}
4. 编写一个方法 求一个字符串的字节长度 str = 'hello,世界'
题解:英文字母、数字占一个字节,汉字,字符占两个字节,单字节在unicode编码中占0-255位
var len = 0;
for(var i = 0, i < str.length; i++){
if(str.charCodeAt(i) > 255){
len += 2;
}else{
len ++
}
}
len 即为字符串的字节长度
5. 去除数组中重复的元素 arr = ['a','b','c','a','d','c'];
题解:定义一个空数组,遍历arr,将arr中的元素插入新数组中,判断如果新数组中存在就跳过不插入
var newa = [];
function check(arr, str){
for(var i = 0; i < arr.length; i++){
if(str == arr[i])
return true;
}
return false
}
for( var i = 0; i < arr.length; i++ ){
if(!check(newa, arr[i])){
newa.push(arr[i])
}
}
newa即为无重复数组
前端面试题之js篇的更多相关文章
- 好程序员分享Web前端面试题汇总JS篇之跨域问题
为什么80%的码农都做不了架构师?>>> 好程序员分享Web前端面试题汇总JS篇之跨域问题,接着上一篇文章我们继续来探讨web前端面试必备面试题. 跨域解决方案 1. 通过jso ...
- 前端面试题(JS篇)
原题地址:http://handyxuefeng.blog.163.com/blog/static/454521722013111714040259/ 好吧,最近打算换工作,所以关注比较多的是面试题, ...
- 前端面试题(html篇)
前端面试题(html篇)
- 各大互联网公司前端面试题(js)
对于巩固复习js更是大有裨益. 初级Javascript: 1.JavaScript是一门什么样的语言,它有哪些特点? 没有标准答案. 2.JavaScript的数据类型都有什么? 基本数据类型 ...
- 前端面试题整理—Webpack篇
1.什么是webpack,与grunt和gulp有啥不同 webpack是一个模块打包工具,在webpack里面一切皆模块 通过loader转换文件,通过plugin注入钩子,最后输出有多个模块组合成 ...
- 前端面试题整理—React篇
1.说一下React React是Facebook 开发的前端JavaScript库 V层:react并不是完整的MVC框架,而是MVC中的C层 虚拟DOM:react引入虚拟DOM,每当数据变化通过 ...
- 2019前端面试题之js
1.js的数据类型 js的数据类型分为基本类型跟引用类型 基本数据类型(5个):undefined,boolean,number,string,null.基本类型的访问是按值访问的,就是说你可以操作保 ...
- 前端面试题整理—Vue篇
1.对vue的理解,有什么特点,vue为什么不能兼容IE8及以下浏览器 vue是一套用于构建用户界面的渐进式框架,核心是一个响应的数据绑定系统 vue是一款MVVM框架,基于双向绑定数据,当数据发生 ...
- 前端面试题整理—JavaScript篇(一)
1.JS的基本数据类型和引用数据类型有哪些,两者区别 基本数据类型->string.number.Boolean.null.undefined.symbol 引用数据类型->array.o ...
随机推荐
- 最牛B的编码套路 【转】
原文:http://blog.csdn.net/happydeer/article/details/17023229 最近,我大量阅读了Steve Yegge的文章.其中有一篇叫“Practicing ...
- android 中View, Window, Activity, WindowManager,ViewRoot几者之间的关系
(1)View:最基本的UI组件,表示屏幕上的一个矩形区域. (2)Window: 表示一个窗口,不一定有屏幕那么大,可以很大也可以很小: 它包含一个V ...
- 游览器对js加载的次序
直接看例子 <body> <script> console.log("first"); var script = document.createElemen ...
- iptables 添加,删除,查看,修改
iptables是linux系统自带的防火墙,功能强大,学习起来需要一段时间,下面是一些习iptables的时候的记录.如果iptables不熟悉的话可以用apf,是一款基于iptables的防火 ...
- spin.js无图片实现loading进度条,支持但非依赖jquery
特点: 1.无图片,无外部CSS 2.无依赖(支持jQuery,但非必须) 3.高度可配置 4.分辨率无关 5.旧版本IE不支持时,采用VML支持 6.使用关键帧动画,采用setTimeout() 7 ...
- 转:ASP.Net MVC:校验、AJAX与过滤器
原文地址:http://blog.jobbole.com/85005/ 一.校验 — 表单不是你想提想提就能提 1.1 DataAnnotations(数据注解) 位于 System.Componen ...
- 【转】Excel快捷键大全
原文网址:http://www.bm8.com.cn/keyboard/excel.asp 显示和使用"Office 助手"注意 若要执行以下操作,"Microsoft ...
- Android实现摇晃手机的监听
摘自:http://blog.csdn.net/xwren362922604/article/details/8515343 监听摇晃手机的类: /** * @author renxinwei ...
- 关于cvAdsDiffS的那些事
cvAbsDiffS 计算数组元素与数量之间差的绝对值 void cvAbsDiffS( const CvArr* src, CvArr* dst, CvScalar value ); #define ...
- <php>添加数据注意事项
如果报错信息里有:fetch_all(),肯定是sql语句写错 get传值:<a href="chuli.php?name=1&code=2">处理</a ...