前端面试题整理—Node篇】的更多相关文章

1.node有哪些特征,与其他服务器端对比 特征:单线程.事件驱动.非阻塞I/O node 无法直接渲染静态页面,提供静态服务 node 没有根目录的概念 node 必须通过路由程序指定文件才能渲染文件 node 比其他服务端性能更好,速度更快 2.CommonJS中require/exports和ES6中import/export区别 CommonJS模块的重要特性是加载时执行,及脚本代码在require的时候,就会全部执行.一旦出现某个模块被“循环加载”就只输出已经执行的部分,还没有执行的部…
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.为什么使用jquery,他有哪些好处? 1)轻量级.代码简洁 2)强大的选择器,出色的DOM操作封装 3)有可靠的事件处理机制 4)浏览器兼容性好 5)支持链式操作 6)支持丰富的插件 2.jquery有哪些选择器 基本选择器:id.标签.class选择器 层级选择器:$("form input") 伪类选择器:$("div:first") 表单选择器:$(":input") 3.$(document).ready()和window.onlo…
1.JS的基本数据类型和引用数据类型有哪些,两者区别 基本数据类型->string.number.Boolean.null.undefined.symbol 引用数据类型->array.object.function 基本数据类型是保存在栈内存中,操作的是值,改变源数据不会影响新的变量 引用数据类型保存在堆内存中,操作的是地址,改变其中一个会影响另一个 2.数据类型中为假的有哪些? false (布尔型) 0(数值型) null(定义空的或者不存在,现在没有,将来可能有) undefined(…
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.使用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.es5和es6的区别,说一下你所知道的es6 ECMAScript5,即ES5,是ECMAScript的第五次修订,于2009年完成标准化 ECMAScript6,即ES6,是ECMAScript的第六次修订,于2015年完成,也称ES2015 ES6是继ES5之后的一次改进,相对于ES5更加简洁,提高了开发效率 ES6新增的一些特性: 1)let声明变量和const声明常量,两个都有块级作用域 ES5中是没有块级作用域的,并且var有变量提升,在let中,使用的变量一定要进行声明 2)箭头…