前端面试题整理——手写AJAX】的更多相关文章

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>手写ajax</title> </head> <body> <script> const xhr = new XMLHttpRequest(); xhr.open('GET', '/api', false); xhr.on…
//拆分字符串形式 function queryToObj() { const res = {} const search = location.search.substr(1);//去掉前面的"?" search.split('&').forEach(paramStr => { const arr = paramStr.split('=') const key = arr[0] const val = arr[1] res[key] = val }) return re…
class jQuery { constructor(selector) { const result = document.querySelectorAll(selector) console.log(result) const length = result.length for (let i = 0; i < length; i++) { this[i] = result[i] } this.length = length } get(index) { return this[index]…
var arr = [1,2,3,4,5] console.log(arr.slice(1,4)) console.log(arr) Function.prototype.bind1 = function(){ // arguments是个列表不是数组,将参数拆解为数组 const args = Array.prototype.slice.call(arguments) // 获取this(数组第一项),shift方法是删除第一项返回第一项值 const t = args.shift() //…
// flatern 是摊平数组 function flat(arr) { const isDeep = arr.some(item => item instanceof Array) if(!isDeep){ return arr } const result = Array.prototype.concat.apply([],arr) return flat(result) } const res = flat([1, 2, [3, 4], 5, [6, 7, [8, 9]]]) conso…
前端面试题之Promise问题 前言 在我们日常开发中会遇到很多异步的情况,比如涉及到 网络请求(ajax,axios等),定时器这些,对于这些异步操作我们如果需要拿到他们操作后的结果,就需要使用到回调函数.拿请求来说,如果我们需要拿到请求回来的数据我们就需要利用回调函数(见代码片段1),以下所有的请求都是使用jQuery的ajax模拟. 点击查看代码片段1 // 代码片段1 $.ajax({ url: 'url', type: 'post', data: { 参数1: 值1, 参数2: 值2…
前言 今天本来准备先了解下node.js的,但是,看看我们一个小时前与一个小时后的差距: 既然如此,我们继续来搜集我们的前端面试题大业吧!!! 特别感谢玉面小肥鱼提供哟,@玉面小飞鱼 题目一览 JavaScript编程题1.实现输出document对象中所有成员的名称和类型:2.如何获得一个DOM元素的绝对位置?(获得元素位置,不依赖框架)3.如何利用JS生成一个table?4.实现预加载一张图片,加载完成后显示在网页中并设定其高度为50px,宽度为50px:5.假设有一个4行td的table,…
前言 上周四回了成都,休息了一下下,工作问题还是需要解决的,于是今天去面试了一下,现在面试回来了,我感觉还是可以整理一下心得. 这个面试题整理系列是为了以后前端方面的兄弟面试时候可以得到一点点帮助,因为其他方面的面试题不少,但是前端还真不多. 当然最后还是为了自己以后面试时候可以得心应手一点,整理时候有些会解答,有些可能就不解答了,好了,开始正题吧. 这家公司在成都来说还是不错的,因为2个月前拒了3个offer,现在找工作有点囧....发现就那么几家公司了,我都不敢乱投简历了. 一来怕面试不过,…
1.JS的基本数据类型和引用数据类型有哪些,两者区别 基本数据类型->string.number.Boolean.null.undefined.symbol 引用数据类型->array.object.function 基本数据类型是保存在栈内存中,操作的是值,改变源数据不会影响新的变量 引用数据类型保存在堆内存中,操作的是地址,改变其中一个会影响另一个 2.数据类型中为假的有哪些? false (布尔型) 0(数值型) null(定义空的或者不存在,现在没有,将来可能有) undefined(…
1.使用js实现一个可持续的动画 2.实现一个可以自由拖动的悬浮框 3.实现一个倒计时效果 4.使用js仿写一个原生下拉列表框 5.创建10个<a>标签,点击的时候弹出对应的序号 6.实现一个deepclone 7.写一个能遍历对象和数组的通用forEach函数 8.通过new创建一个对象的时候,函数内部有哪些改变 9.实现一个bind 10.封装一个函数,参数是定时器的时间 .then执行回调函数 11.手写一个promise 12.使用js实现jquery的delegate方法 13.用J…
(1)typeof 和 instanceof 1.typeof 对于基本数据类型(boolean.null.undefined.number.string.symbol)来说,除了 null 都可以显示正确的类型:对于对象来说,除了函数都会显示 object. 2.instanceof 是通过原型链来判断的.可以判断一个对象的正确类型,但是对于基本数据类型的无法判断. 3.instanceof能正确判断对象的原理: 通过判断对象的原型链中是不是能找到类型的原型 [].__proto__ == A…
1.es5和es6的区别,说一下你所知道的es6 ECMAScript5,即ES5,是ECMAScript的第五次修订,于2009年完成标准化 ECMAScript6,即ES6,是ECMAScript的第六次修订,于2015年完成,也称ES2015 ES6是继ES5之后的一次改进,相对于ES5更加简洁,提高了开发效率 ES6新增的一些特性: 1)let声明变量和const声明常量,两个都有块级作用域 ES5中是没有块级作用域的,并且var有变量提升,在let中,使用的变量一定要进行声明 2)箭头…
如何理解语义化: 对应的内容是用相应意思的标签,增加开发者和机器爬虫对代码的可读性. 块状元素和内联元素: 块状元素有:display:block/table:有div h1 h2 table ul ol p等,这些元素特点是独占一行. 内联元素:display:inline/inline-block:有span img input button等,内联元素不会独占一行,会挨着往后排,直到浏览器的边缘换行为止.   盒模型宽度计算: #div{ width:100px; padding:10px…
1.什么是Ajax和JSON,它们的优缺点 Ajax是全称是asynchronous JavaScript andXML,即异步JavaScript和xml,用于在Web页面中实现异步数据交互,实现页面局部刷新 优点:可以实现异步通信效果,页面局部刷新,带来更好的用户体验 JSON是一种轻量级的数据交换格式,看着像对象,本质是字符串 优点:轻量级.易于人的阅读和编写,便于js解析,支持复合数据类型 2.ajax的交互流程有哪几步? 1)创建ajax对象 xhr = new XMLHttpRequ…
为什么换工作 换工作简单来讲一般会归纳为钱不够或者人不对,我们团队氛围很不错,所以基本就定位到钱不够了,而我更多是考虑到以后的职业发展,简单说来就是对以后几年的工作有想法,而这种想法实现不一定能在现在的团队获得,在短期内也看不到希望,加之公司职级晋升不合理等考虑,也就自然而然想到了离职. 其实在鞋厂这两年,真的收获了很多东西,也负责了很重要的业务,这些财富可能是其它大公司不一定能给予的,虽然一直级别低点也就没太多在意,直到最近职级福利缩水...... 最初我面试的职级为X,HR给了一套智力题做,…
重要知识需要系统学习.透彻学习,形成自己的知识链.万不可投机取巧,临时抱佛脚只求面试侥幸混过关是错误的! 面试有几点需注意: 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加. 题目类型: 理论知识.算法.项目细节.技术视野.开放性题.工作案例. 细节追问: 可以确保问到你开始不懂或面试官开始不懂为止,这样可以大大延展题目的区分度和深度,知道你的实际能力.因为这种知识关联是长时期的学习,临时抱佛脚绝对是记不住的. 回答问题再棒,面试官(可能是你面试职位的直接领导),会…
前言 昨天我们整理了14到js的题,今天我们再来整理14到CSS相关的题目,昨天整理时候时间有点晚了我便有点心浮气躁,里面的一些题需要再次解答,好了看看今天有些什么吧. PS:我这里挑一点来做就好了,各位也可以作答 题目一览 1.<img>标签上title属性与alt属性的区别是什么?2.分别写出以下几个HTML标签:文字加粗.下标.居中.字体3.写出一个文本输入框,属性为只读,最大输入字符为20个4.CSS左边固定,右边可变的布局实现方法:要求在源码顺序中左边必须在前.5.图片和文字一起如何…
前言 最近小叶子有点疲惫,主要是在外地工作生活上不太适应,吃一样的东西,我居然会拉肚子,而且是一个星期一个星期的.... 脸上长了一个豆豆一个星期还没消,我那个去啊. 昨天上午上班后,本来想继续研究javascript方面的东西的,但是下午要开会,结果一开就是4.5小时,哎哟,我那个怎么感觉很累啊, 明明是坐着的啊,开完会腰酸背痛的,回来吃过饭,本来想接着学习,却迷迷糊糊的睡着了...... 按照进度我们本来想要开始做小窗口的,但是也碰到点问题,除了各大微博,其它数据全部是RSS,与我想象的数据…
1.JavaScript是一门什么样的语言,它有哪些特点? 没有标准答案. 2.JavaScript的数据类型都有什么? 基本数据类型:String,boolean,Number,Undefined 引用数据类型:Object(Array,Date,RegExp,Function,Null) 那么问题来了,如何判断某变量是否为数组数据类型? 方法一.判断其是否具有“数组性质”,如slice()方法.可自己给该变量定义slice方法,故有时会失效 方法二.obj instanceof Array…
 1.对vue的理解,有什么特点,vue为什么不能兼容IE8及以下浏览器 vue是一套用于构建用户界面的渐进式框架,核心是一个响应的数据绑定系统 vue是一款MVVM框架,基于双向绑定数据,当数据发生变化时候,vue自身会进行一些运算 特点:简洁轻量.数据驱动.组件化.模块友好 vue.js使用了IE8无法模拟的 ECMAScript 5 特性,没有替代方案 2.简述Vue双向数据绑定的原理 主要是通过Object对象的defineProperty属性,重写data的set和get函数来实现的…
为了督促自己学习,整理了一下前端的面试题 JavaScript: JavaScript 中如何监测一个变量是String类型? typeof(obj)==="string"; typeof obj ==="string"; obj.constructor ===string JS中清除字符串空格的方法        方法一:使用正则匹配 // 去除所有的空格 var str1 = strings.replace(/\s*/g,""); // 去掉…
前言 2019届校招陆陆续续开始了,整理了一些高频的面试题. HTML部分 1. 什么是<!DOCTYPE>? DOCTYPE是html5标准网页声明,且必须声明在HTML文档的第一行.来告知浏览器的解析器用什么文档标准解析这个文档. 文档解析类型有: BackCompat:怪异模式,浏览器使用自己的怪异模式解析渲染页面.(如果没有声明DOCTYPE,默认就是这个模式) CSS1Compat:标准模式,浏览器使用W3C的标准解析渲染页面. 2. meta标签 提供给页面的一些元信息(名称/值对…
前言 连续学了两天javascript的东西了,我们都累了,于是今天还是上一套面试题吧,大家一起休息休息,也为下个星期可能会有的面试准备下. 题目一览 CSS1.  overflow-x  属于 CSS2 还是 CSS32.  请列举几种可以清除浮动的方法(至少两种)3.  display:none  和  visibility:hidden  的区别是什么4.  请缩写以下代码:.box {     background-position: 10px 20px;     background-…
前言 这段时间我在河南一家公司当了一段时间的前端主管,最后可耻的匿了,原因各种各样,最主要的就是不想呆在郑州了. 其实这里的同事还是很不错的,面对老总最后的挽留我不是没有动心,而是这个地方确实不太好,我一个月就瘦了10斤不是白说的... 所以就离职了,最后又加入了无工作大军,于是开始今天的故事吧. 离职种种 其实我不想离职!其实我也想好好的干下去,我这次到郑州损失很大,几张机票,租了2次房子(开始的都市村庄很吵会让你想哭),中间买了很多生活用品,最后走的时候又孑然一身的拿着我的行李箱离去了. 我…
1.介绍所知道的CSS hack技巧(如:_, *, +, \9, !important 之类). CSS hack的原理: 由于不同的浏览器和浏览器各版本对CSS的支持及解析结果不一样,以及CSS优先级对浏览器展现效果的影响,我们可以据此针对不同的浏览器情景来应用不同的CSS. 条件注释法: 只在IE下生效: <!--[if IE]> 这段文字只在IE浏览器显示 <![endif]--> 只在IE6下生效: <!--[if IE 6]> 这段文字只在IE6浏览器显示…
1.说一下React React是Facebook 开发的前端JavaScript库 V层:react并不是完整的MVC框架,而是MVC中的C层 虚拟DOM:react引入虚拟DOM,每当数据变化通过reactdiff运算,将上一次的虚拟DOM与本次渲染的DOM进行对比,仅仅只渲染更新的,有效减少了DOM操作 JSX语法:js+xml,是js的语法扩展,编译后转换成普通的js对象 组件化思想:将具有独立功能的UI模块封装为一个组件,而小的组件又可以通过不同的组合嵌套组成大的组件,最终完成整个项目…
1.简述一下你对HTML语义化的理解 1)用正确的标签做正确的事情 2)html语义化让页面的内容结构化,结构更清晰,便于对浏览器.搜索引擎解析 3)即使在没有样式CSS情况下也以一种文档格式显示,并且是容易阅读的 4)搜索引擎的爬虫也依赖于HTML标记来确定上下文和各个关键字的权重,利于SEO 5)使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解 2.Doctype作用?标准模式与兼容模式之间区别? <!DOCTYPE>声明位于位于HTML文档中的第一行,处于 <html>…
webpack是开发工具,面试考点重点在配置和使用,原理理解不需要太深. 一.基本配置 1.拆分配置和merge 将公共配置跟dev和prod的配置拆分,然后通过webpack-merge对配置进行整合. 2.启动本地服务 dev环境启动devserver配置. 3.处理ES6 使用babel-loader,针对对应目录的js进行代码转换. 4.处理样式 使用postcss-loader.css-loader.style-loader等,这里有个考点是loader的执行顺序是从后往前执行. 5.…
1.v-if与v-show的区别? v-if的原理是根据判断条件来动态的进行增删DOM元素, v-show是根据判断条件来动态的进行显示和隐藏元素,频繁的进行增删DOM操作会影响页面加载速度和性能所以此时使用v-show更合理. 只有v-if能和v-else连用进行分支判断,v-show是不能和v-else连用的. 2.生命周期有哪些?分别表示意义是什么? beforeCreate():在实例生成之前 created():在实例生成之后 beforeMount():在模板已经被编译成函数之后,组…
拜师传说 今天老夫拜师了,老夫有幸认识一个JS高手,在此推荐其博客,悄悄告诉你,我拜他为师了,他承诺我只收我一个男弟子..... 师尊刚注册的账号,现在博客数量还不多,但是后面点会有干货哦,值得期待. http://www.cnblogs.com/aaronjs/ 前言 上周回到了成都,这周就准备找工作了,对成都的聚美优品其实比较有好感的,所以昨天就先去面试了,感觉技术面试的还不错啦,结果最后HR说经理不在,让我等经理反馈. 我当时相信了,但是回来想想感觉可能失败了,但是我不知道哪里出了问题.…