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.JS的基本数据类型和引用数据类型有哪些,两者区别 基本数据类型->string.number.Boolean.null.undefined.symbol 引用数据类型->array.object.function 基本数据类型是保存在栈内存中,操作的是值,改变源数据不会影响新的变量 引用数据类型保存在堆内存中,操作的是地址,改变其中一个会影响另一个 2.数据类型中为假的有哪些? false (布尔型) 0(数值型) null(定义空的或者不存在,现在没有,将来可能有) undefined(…
(1)typeof 和 instanceof 1.typeof 对于基本数据类型(boolean.null.undefined.number.string.symbol)来说,除了 null 都可以显示正确的类型:对于对象来说,除了函数都会显示 object. 2.instanceof 是通过原型链来判断的.可以判断一个对象的正确类型,但是对于基本数据类型的无法判断. 3.instanceof能正确判断对象的原理: 通过判断对象的原型链中是不是能找到类型的原型 [].__proto__ == A…
1.什么是webpack,与grunt和gulp有啥不同 webpack是一个模块打包工具,在webpack里面一切皆模块 通过loader转换文件,通过plugin注入钩子,最后输出有多个模块组合成的文件 WebPack可以看做是模块打包机:它做的事情是,分析你的项目结构,找到Js模块以及其它的一些浏览器不能直接运行的拓展语言,并将其打包为合适的格式以供浏览器使用 Gulp/Grunt是一种能够优化前端的开发流程的工具,而WebPack是一种模块化的解决方案,不过Webpack的优点使得在很多…
1.说一下React React是Facebook 开发的前端JavaScript库 V层:react并不是完整的MVC框架,而是MVC中的C层 虚拟DOM:react引入虚拟DOM,每当数据变化通过reactdiff运算,将上一次的虚拟DOM与本次渲染的DOM进行对比,仅仅只渲染更新的,有效减少了DOM操作 JSX语法:js+xml,是js的语法扩展,编译后转换成普通的js对象 组件化思想:将具有独立功能的UI模块封装为一个组件,而小的组件又可以通过不同的组合嵌套组成大的组件,最终完成整个项目…
 1.对vue的理解,有什么特点,vue为什么不能兼容IE8及以下浏览器 vue是一套用于构建用户界面的渐进式框架,核心是一个响应的数据绑定系统 vue是一款MVVM框架,基于双向绑定数据,当数据发生变化时候,vue自身会进行一些运算 特点:简洁轻量.数据驱动.组件化.模块友好 vue.js使用了IE8无法模拟的 ECMAScript 5 特性,没有替代方案 2.简述Vue双向数据绑定的原理 主要是通过Object对象的defineProperty属性,重写data的set和get函数来实现的…
1.什么是Ajax和JSON,它们的优缺点 Ajax是全称是asynchronous JavaScript andXML,即异步JavaScript和xml,用于在Web页面中实现异步数据交互,实现页面局部刷新 优点:可以实现异步通信效果,页面局部刷新,带来更好的用户体验 JSON是一种轻量级的数据交换格式,看着像对象,本质是字符串 优点:轻量级.易于人的阅读和编写,便于js解析,支持复合数据类型 2.ajax的交互流程有哪几步? 1)创建ajax对象 xhr = new XMLHttpRequ…
1.常见的HTTP方法有哪些? GET: 用于请求访问已经被URI(统一资源标识符)识别的资源,可以通过URL传参给服务器 POST:用于传输信息给服务器,主要功能与GET方法类似,但一般推荐使用POST方式. PUT: 传输文件,报文主体中包含文件内容,保存到对应URI位置. HEAD: 获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证URI是否有效. DELETE:删除文件,与PUT方法相反,删除对应URI位置的文件. OPTIONS:查询相应URI支持的HTTP方法 2.H…
1.node有哪些特征,与其他服务器端对比 特征:单线程.事件驱动.非阻塞I/O node 无法直接渲染静态页面,提供静态服务 node 没有根目录的概念 node 必须通过路由程序指定文件才能渲染文件 node 比其他服务端性能更好,速度更快 2.CommonJS中require/exports和ES6中import/export区别 CommonJS模块的重要特性是加载时执行,及脚本代码在require的时候,就会全部执行.一旦出现某个模块被“循环加载”就只输出已经执行的部分,还没有执行的部…
1.为什么使用jquery,他有哪些好处? 1)轻量级.代码简洁 2)强大的选择器,出色的DOM操作封装 3)有可靠的事件处理机制 4)浏览器兼容性好 5)支持链式操作 6)支持丰富的插件 2.jquery有哪些选择器 基本选择器:id.标签.class选择器 层级选择器:$("form input") 伪类选择器:$("div:first") 表单选择器:$(":input") 3.$(document).ready()和window.onlo…
1.es5和es6的区别,说一下你所知道的es6 ECMAScript5,即ES5,是ECMAScript的第五次修订,于2009年完成标准化 ECMAScript6,即ES6,是ECMAScript的第六次修订,于2015年完成,也称ES2015 ES6是继ES5之后的一次改进,相对于ES5更加简洁,提高了开发效率 ES6新增的一些特性: 1)let声明变量和const声明常量,两个都有块级作用域 ES5中是没有块级作用域的,并且var有变量提升,在let中,使用的变量一定要进行声明 2)箭头…
常见值类型: let a; //undefined let s = 'abc'; let n = 100; let b = true; let sb = Symbol('s'); let nn = NaN   常见引用类型: const obj = {x: 100}; const arr = [1, 2, 3]; const n = null;//特殊引用类型,指针指向为空 // 特殊引用类型,但不用于存储数据,所以没有"拷贝,复制函数"这一说 function fn(){} cons…
为什么80%的码农都做不了架构师?>>>   好程序员分享Web前端面试题汇总JS篇之跨域问题,接着上一篇文章我们继续来探讨web前端面试必备面试题. 跨域解决方案 1. 通过jsonp跨域 2. 跨域资源共享(CORS) 3. nodejs中间件代理跨域 4. nginx反向代理中设置proxy_cookie_domain Ⅰ.通过jsonp跨域 通常为了减轻Web服务器的负载,我们把js.css,img等静态资源分离到另一台独立域名的服务器上,在html页面中再通过相应的标签从不同域…
前端面试题(html篇)…
前言 今天本来准备先了解下node.js的,但是,看看我们一个小时前与一个小时后的差距: 既然如此,我们继续来搜集我们的前端面试题大业吧!!! 特别感谢玉面小肥鱼提供哟,@玉面小飞鱼 题目一览 JavaScript编程题1.实现输出document对象中所有成员的名称和类型:2.如何获得一个DOM元素的绝对位置?(获得元素位置,不依赖框架)3.如何利用JS生成一个table?4.实现预加载一张图片,加载完成后显示在网页中并设定其高度为50px,宽度为50px:5.假设有一个4行td的table,…
昨天我们一起分享了关于html和css的面试题<前端面试题之Html和CSS>,今天我们来分享关于javascript有关的面试题.我面试的时候最害怕面试官问我js了,因为我真心不擅长这个.不过我在努力的学习中. 本宝宝第一次面试的时候比这个还紧张呢!!! 1.介绍js的基本数据类型 Undefined.Null.Boolean.Number.String 2.js有哪些内置对象? 数据封装类对象:Object.Array.Boolean.Number 和 String 其他对象:Functi…
(前端面试题大全,持续更新) 箭头函数特点?箭头函数和普通函数的区别 手写懒加载(考虑防抖和重复加载问题) 手写bind(为什么要加预参数,为什么要加new) apply, call, bind new一个对象中间做了什么操作 setTimeout一定会按时执行吗? 讲一讲event loop(微任务.宏任务等) promise原理,Promise.all() 和 Promise.race() 怎么用,他是干啥的?你会在啥场景使用他,promise如何解决回凋地狱?如何和ajax配合? asyn…
前言 上周四回了成都,休息了一下下,工作问题还是需要解决的,于是今天去面试了一下,现在面试回来了,我感觉还是可以整理一下心得. 这个面试题整理系列是为了以后前端方面的兄弟面试时候可以得到一点点帮助,因为其他方面的面试题不少,但是前端还真不多. 当然最后还是为了自己以后面试时候可以得心应手一点,整理时候有些会解答,有些可能就不解答了,好了,开始正题吧. 这家公司在成都来说还是不错的,因为2个月前拒了3个offer,现在找工作有点囧....发现就那么几家公司了,我都不敢乱投简历了. 一来怕面试不过,…
前言 2019届校招陆陆续续开始了,整理了一些高频的面试题. HTML部分 1. 什么是<!DOCTYPE>? DOCTYPE是html5标准网页声明,且必须声明在HTML文档的第一行.来告知浏览器的解析器用什么文档标准解析这个文档. 文档解析类型有: BackCompat:怪异模式,浏览器使用自己的怪异模式解析渲染页面.(如果没有声明DOCTYPE,默认就是这个模式) CSS1Compat:标准模式,浏览器使用W3C的标准解析渲染页面. 2. meta标签 提供给页面的一些元信息(名称/值对…
1.Doctype作用?标准模式与兼容模式各有什么区别? <!DOCTYPE>声明位于位于HTML文档中的第一行,处于 <html> 标签之前.告知浏览器的解析器用什么文档标准解析这个文档.DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现. 标准模式的排版 和JS运作模式都是以该浏览器支持的最高标准运行.在兼容模式中,页面以宽松的向后兼容的方式显示,模拟老式浏览器的行为以防止站点无法工作. 2.页面导入样式时,使用link和@import有什么区别? 老祖宗的差别.link…
1.简述一下你对HTML语义化的理解 1)用正确的标签做正确的事情 2)html语义化让页面的内容结构化,结构更清晰,便于对浏览器.搜索引擎解析 3)即使在没有样式CSS情况下也以一种文档格式显示,并且是容易阅读的 4)搜索引擎的爬虫也依赖于HTML标记来确定上下文和各个关键字的权重,利于SEO 5)使阅读源代码的人对网站更容易将网站分块,便于阅读维护理解 2.Doctype作用?标准模式与兼容模式之间区别? <!DOCTYPE>声明位于位于HTML文档中的第一行,处于 <html>…
为什么换工作 换工作简单来讲一般会归纳为钱不够或者人不对,我们团队氛围很不错,所以基本就定位到钱不够了,而我更多是考虑到以后的职业发展,简单说来就是对以后几年的工作有想法,而这种想法实现不一定能在现在的团队获得,在短期内也看不到希望,加之公司职级晋升不合理等考虑,也就自然而然想到了离职. 其实在鞋厂这两年,真的收获了很多东西,也负责了很重要的业务,这些财富可能是其它大公司不一定能给予的,虽然一直级别低点也就没太多在意,直到最近职级福利缩水...... 最初我面试的职级为X,HR给了一套智力题做,…
1.JavaScript是一门什么样的语言,它有哪些特点? 没有标准答案. 2.JavaScript的数据类型都有什么? 基本数据类型:String,boolean,Number,Undefined 引用数据类型:Object(Array,Date,RegExp,Function,Null) 那么问题来了,如何判断某变量是否为数组数据类型? 方法一.判断其是否具有“数组性质”,如slice()方法.可自己给该变量定义slice方法,故有时会失效 方法二.obj instanceof Array…
重要知识需要系统学习.透彻学习,形成自己的知识链.万不可投机取巧,临时抱佛脚只求面试侥幸混过关是错误的! 面试有几点需注意: 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加. 题目类型: 理论知识.算法.项目细节.技术视野.开放性题.工作案例. 细节追问: 可以确保问到你开始不懂或面试官开始不懂为止,这样可以大大延展题目的区分度和深度,知道你的实际能力.因为这种知识关联是长时期的学习,临时抱佛脚绝对是记不住的. 回答问题再棒,面试官(可能是你面试职位的直接领导),会…
为了督促自己学习,整理了一下前端的面试题 JavaScript: JavaScript 中如何监测一个变量是String类型? typeof(obj)==="string"; typeof obj ==="string"; obj.constructor ===string JS中清除字符串空格的方法        方法一:使用正则匹配 // 去除所有的空格 var str1 = strings.replace(/\s*/g,""); // 去掉…
前言 这段时间我在河南一家公司当了一段时间的前端主管,最后可耻的匿了,原因各种各样,最主要的就是不想呆在郑州了. 其实这里的同事还是很不错的,面对老总最后的挽留我不是没有动心,而是这个地方确实不太好,我一个月就瘦了10斤不是白说的... 所以就离职了,最后又加入了无工作大军,于是开始今天的故事吧. 离职种种 其实我不想离职!其实我也想好好的干下去,我这次到郑州损失很大,几张机票,租了2次房子(开始的都市村庄很吵会让你想哭),中间买了很多生活用品,最后走的时候又孑然一身的拿着我的行李箱离去了. 我…
前言 最近小叶子有点疲惫,主要是在外地工作生活上不太适应,吃一样的东西,我居然会拉肚子,而且是一个星期一个星期的.... 脸上长了一个豆豆一个星期还没消,我那个去啊. 昨天上午上班后,本来想继续研究javascript方面的东西的,但是下午要开会,结果一开就是4.5小时,哎哟,我那个怎么感觉很累啊, 明明是坐着的啊,开完会腰酸背痛的,回来吃过饭,本来想接着学习,却迷迷糊糊的睡着了...... 按照进度我们本来想要开始做小窗口的,但是也碰到点问题,除了各大微博,其它数据全部是RSS,与我想象的数据…
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():在模板已经被编译成函数之后,组…
前言 连续学了两天javascript的东西了,我们都累了,于是今天还是上一套面试题吧,大家一起休息休息,也为下个星期可能会有的面试准备下. 题目一览 CSS1.  overflow-x  属于 CSS2 还是 CSS32.  请列举几种可以清除浮动的方法(至少两种)3.  display:none  和  visibility:hidden  的区别是什么4.  请缩写以下代码:.box {     background-position: 10px 20px;     background-…
前言 昨天我们整理了14到js的题,今天我们再来整理14到CSS相关的题目,昨天整理时候时间有点晚了我便有点心浮气躁,里面的一些题需要再次解答,好了看看今天有些什么吧. PS:我这里挑一点来做就好了,各位也可以作答 题目一览 1.<img>标签上title属性与alt属性的区别是什么?2.分别写出以下几个HTML标签:文字加粗.下标.居中.字体3.写出一个文本输入框,属性为只读,最大输入字符为20个4.CSS左边固定,右边可变的布局实现方法:要求在源码顺序中左边必须在前.5.图片和文字一起如何…