![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前端面试题
带刀预言家
带刀预言家
展开
-
深拷贝的实现
浅拷贝和深拷贝浅拷贝:拷贝的值为引用而非其真实值 深拷贝:拷贝的值为真实值而非引用。当拷贝的元素是对象是,深拷贝相当于会重新创建一个对象,并对对象的值一个一个复制过来,而不是仅仅获得该对象的引用值。为什么要分深浅拷贝显然,浅拷贝会带来一个很大的问题。就是,如果我复制的值是一个引用地址,那么我通过一个变量去修改这个对象,会导致所有该对象的引用都发生变化。slice/concat都是浅拷贝一个例子va原创 2017-05-03 15:12:45 · 4376 阅读 · 0 评论 -
闭包题目
<script>var x = 20;var a = { x: 15, fn: function() { var x = 30; return function() { return x; }; }}console.log(a.fn());//functionconsole.log(a.fn()原创 2017-03-11 10:38:11 · 1761 阅读 · 2 评论 -
每天一篇面试题(二)
题目一<script type="text/javascript" charset="utf-8">function fun(n,o){ console.log(o) return{ fun:function(m){ return fun(m,n); } };}var a = fun(0); a.fun(1); a原创 2017-03-15 16:45:37 · 526 阅读 · 0 评论 -
每天一篇面试题(三)
题目一 用尽可能多的方法找出数组中重复出现过的元素 例如:[1,2,4,4,3,3,1,5,3] 输出:[1,3,4] 作者补充:若给出多种方式,请分别给出他们的复杂度<script> var input = [1,2,4,4,3,3,1,5,3]; var counter = new Array(); var output = new Array(原创 2017-03-16 22:25:37 · 497 阅读 · 0 评论 -
每天一篇面试题(四)
从给定的无序、不重复的数组 A 中,取出 N 个数,使其相加和 为 M。 并给出算法的 时间/空间复杂度。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0">原创 2017-03-20 20:57:02 · 1660 阅读 · 1 评论 -
每天一篇面试题(五)
请写出超链接的顺序或者你在初始样式中的链接方法。 要求默认无下划线,鼠标经过有下划线<style> a:link, a:visited{ text-decoration: none; color:black; } a:hover, a:active{ text-decoration: underline;原创 2017-03-20 21:37:42 · 1232 阅读 · 0 评论 -
每天一篇面试题(六)
编译语言与解释执行语言(脚本语言)有什么区别?编译语言会在执行前有个编译过程,翻译成机器语言后再执行。 而脚本语言则是在执行过程中翻译成机器语言,因此脚本语言相较于编译语言更慢一些。 编译语言:C、C++ 脚本语言:js、python 请列举出至少五个应用层网络协议。HTTP、SMTP、DNS、POP3、FTP HTTP 协议的 GET/POST 方法的区别以及适用场景分别是什么?原创 2017-03-23 20:29:59 · 459 阅读 · 0 评论 -
每天一篇面试题(七)
alert(0/0); // 输出NaNalert(1/0); // 输出Infinityalert(function(){alert("3333");}); // 将输出两次,第一次alert出3333,第二次alert出undefinedvar len = 4;while(len--){ setTimeout(function(){console.log(len)},300原创 2017-03-27 20:37:06 · 469 阅读 · 0 评论 -
面试题(八)
python面向对象 http://www.imooc.com/article/3066python内没有new关键字 python类方法的定义时第一个参数一定是self @classmethod是类方法,传入的参数一定有cls @property是对象属性的另一种定义方式,调用时不需要加上()。并且只有一个参数selfC++的构造函数和析构函数调用顺序 http://www.cnb原创 2017-04-10 22:22:17 · 295 阅读 · 0 评论 -
面试题(九)
逻辑地址->物理地址进程控制块(PCB)PCB通常是系统内存占用区中的一个连续存区,它存放着操作系统用于描述进程情况及控制进程运行所需的全部信息,它使一个在多道程序环境下不能独立运行的程序成为一个能独立运行的基本单位或一个能与其他进程并发执行的进程。 一个进程只有一个PCB。缺页中断在请求分页系统中,可以通过查询页表中的状态位来确定所要访问的页面是否存在于内存中。每当所要访问的页面不在内存时,会产原创 2017-04-12 17:05:01 · 249 阅读 · 0 评论 -
破解前端面试(80% 应聘者不及格系列):从 DOM 说起(转载)
破解前端面试(80% 应聘者不及格系列):从 DOM 说起修改页面内容要求: 页面上有个空的无序列表节点,用 <ul></ul> 表示,要往列表中插入 3 个 <li>,每个列表项的文本内容是列表项的插入顺序,取值 1, 2, 3,怎么用原生的 JS 实现这个需求?同时约定,为方便获取节点引用,可以根据需要为 <ul> 节点加上 id 或者 class 属性。 我的做法是 html<ul id转载 2017-04-18 15:01:19 · 686 阅读 · 0 评论 -
面试题(十)
字符串的替换问题var str = 'my name is {$name}, I like {$hobby}';var obj = {name: '小红', hobby: '看电影'};//输出 my name is 小红, I like 看电影答案str.replace(/{\$(\w+)}/g, function(match, p1){ return obj[p1];})结果讨论原创 2017-05-02 15:10:56 · 388 阅读 · 0 评论 -
二分查找
let arr = [1,2,4,5,6,10,23,45,67];function binarySearch(arr, value) { if(!(arr instanceof Array)) { return; } let left = 0, right = arr.length - 1; let index = Math.floor((left原创 2017-05-22 20:26:49 · 268 阅读 · 0 评论