前端面试题 ╰半橙微兮° 2022-01-19 02:55 279阅读 0赞 今天看到一份某大厂的前端面试题,自己看了看挺简单的,由于我是即将要面临找工作实习的大学生,所以想分享给大家。 1. 给String定义一个doRepate方法,该方法接受一个整数作为参数,作为字符串重复的次数,最后返回重复指定次数的字符串。 例如 console.log("g".doRepate(3)) // ggg 复制代码 我的答案: String.prototype.doRepate = function doRepate(num) { let str = ''; for (var i = 0; i < num; i++) { str += this; } return str; } console.log('a'.doRepate(5)); // aaaaa 复制代码 上面没有容错什么的还不够详细,只是提供一个简单的实现,具体的可以自己查找资料。 1. 请写出下面的代码运行的结果,并解释原理。 ar fullName = 'John'; var obj = { fullName: 'Colin', prop: { fullName: 'Adr', getFullName: function(){ return this.fullName; } } }; console.log(obj.prop.getFullName()); var test = obj.prop.getFullName; console.log(test()); 复制代码 答案: console.log(obj.prop.getFullName()); //Adr console.log(test()); //John 复制代码 原理:作用域。 obj.prop.getFullName() //this是prop test() //this是window 复制代码 1. 修复前一个问题,让最后一个输出Adr. 答案: console.log(test.call(obj.prop)); console.log(test.apply(obj.prop)); //改变this指向 复制代码 1. 考虑如下代码 var nodes = document.getElementsByTagName('li'); for (var i = 0; i < nodes.length; i++) { nodes[i].addEventListener('click', function click() { console.log('li' + i); }, false); } 复制代码 假设有10个li, 如果用户点击第一个和第四个会输出什么。 答案:10 10 5. 修复前一个问题,点击第一个输出0, 第二个输出1 // ES6 for (let i = 0; i < nodes.length; i++) { nodes[i].addEventListener('click', function click() { console.log('li' + i); }, false); } // IIFE for (var i = 0; i < nodes.length; i++) { (function (j) { nodes[j].addEventListener('click', function click() { console.log('li' + j); }, false); })(i); } // IIFE for (var i = 0; i < nodes.length; i++) { nodes[i].addEventListener('click', (function click(j) { return ()=>{ console.log('li' + j); }; }(i)), false); } 复制代码 1. 写出下面代码的输出结果 function printing() { console.log(1); setTimeout(function () { console.log(2); },1000); setTimeout(function () { console.log(3); },0); setTimeout(function () { console.log(4); },0); console.log(5); new Promise((resolve, reject) => { console.log(6); resolve(); }).then(function(){ console.log(7); }); } printing(); 复制代码 答案: 1 5 6 7 3 4 2 7.写出一个算法,判断一个输入值是否为质数。 function isPrime(num) { for (var i = 2; i < num; i ++ ) { if(num % i === 0){ return false; } } return true; } 复制代码 let num = 0; for (var i = 2; i < 100; i++) { if(isPrime(i)){ num ++; } } console.log(num); //25 复制代码 改进版 function isPrime(num) { // 下一句不一样,数学知识。 for (var i = 2; i <= Math.sqrt(num); i ++ ) { if(num % i === 0){ return false; } } return true; } 复制代码 增强版 function isPrime(num) { if(num === 2){ return true; }else if(num % 2 === 0){ //偶数(除了2)不是素数 return false; } for (var i = 3; i <= Math.sqrt(num); i += 2 ) { if(num % i === 0){ return false; } } return true; } 复制代码 1. 用css + html 实现一个气泡框 <div id="bubble"></div> #bubble { position: relative; height: 50px; width: 100px; margin: 200px auto; border: 1px solid black; } #bubble:after { content: ''; position: absolute; bottom: -6px; left: 15px; width: 10px; height: 10px; border: 1px solid black; border-left-color: transparent; border-top-color: transparent; transform: rotate(45deg); background-color: #fff; } 复制代码 * 这只是我个人的答案,并不完善,如有错误或不好的地方,请您指出来。 转载于:https://juejin.im/post/5c6e4bb151882562654ac762
相关 前端面试题 事件代理优点有哪些? 可以为将来元素绑定事件 减少事件注册 什么是事件对象? 保存调用该事件详细信息的一个参数,没有固定命名 li与li之间有看不见的 本是古典 何须时尚/ 2022年05月21日 00:23/ 0 赞/ 249 阅读
相关 前端面试题 [前端面试题《CSS》][CSS] [前端面试题《JS》][JS] [前端面试题《vue》][vue] [前端面试题《网络&浏览器》][L £神魔★判官ぃ/ 2022年05月15日 18:12/ 0 赞/ 436 阅读
相关 前端面试题 一、532道前端真实大厂面试题 1.express和koa的对比,两者中间件的原理,koa捕获异常多种情况说一下 2.你项目里用到第三方登录涉及的oAuth(JWT)协 以你之姓@/ 2022年05月09日 12:04/ 0 赞/ 266 阅读
相关 前端面试题 2018 vue前端面试题 1、active-class是哪个组件的属性?嵌套路由怎么定义? vue-router模块的router-link组件 2、怎么定义 灰太狼/ 2022年03月26日 14:10/ 0 赞/ 198 阅读
相关 前端面试题 > 小编推荐:[Fundebug][]提供JS错误监控、微信小程序错误监控、微信小游戏错误监控,Node.j错误监控和Java错误监控。真的是一个很好用的错误监控费服务,众多大 水深无声/ 2022年02月21日 14:29/ 0 赞/ 398 阅读
相关 前端面试题 今天看到一份某大厂的前端面试题,自己看了看挺简单的,由于我是即将要面临找工作实习的大学生,所以想分享给大家。 1. 给String定义一个doRepate方法,该方法接受一 ╰半橙微兮°/ 2022年01月19日 02:55/ 0 赞/ 280 阅读
相关 前端面试题 1. css的三种盒模型 c s s 的 两 种 盒 模 型 = \{ w 3 c 标 准 盒 模 型 I E 盒 模 型 弹 性 盒 模 型 css的两种盒模型=\\ 古城微笑少年丶/ 2021年11月11日 07:44/ 0 赞/ 369 阅读
相关 前端面试题 前端面试题汇总 一、HTML和CSS 21 1. 你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? 21 2. 每个HTML文件里开头都有个很重要的东西,Do 不念不忘少年蓝@/ 2021年11月05日 04:44/ 0 赞/ 528 阅读
相关 前端面试题 对闭包的理解 [http://www.ruanyifeng.com/blog/2009/08/learning\_javascript\_closures.html][h 蔚落/ 2021年10月19日 00:20/ 0 赞/ 358 阅读
相关 前端面试题 版权声明:本文为博主【小北】原创文章,如要转载请评论回复。个人前端公众号:前端你别闹,JS前端实用开发QQ群 :147250970 欢迎加入~! ![Center][] 古城微笑少年丶/ 2021年10月08日 06:16/ 0 赞/ 388 阅读
还没有评论,来说两句吧...