前端知识点总结
前端知识点
QQ帝国
积土成山,风雨兴焉;积水成渊,蛟龙生焉;积善成德,而神明自得,圣心备焉。故不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。蚓无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也。蟹六跪而二螯,非蛇鳝之穴无可寄托者,用心躁也。
展开
-
史上最全的Javascript面试题总结(内附答案)
近年来,从事JavaScript的程序员越来越多,JavaScript的曝光率也越来越高,如果你想转行试试JavaScript,不妨收下这份面试题及答案,没准用得上。当然,如果针对这些问题,你有更棒的答案,欢迎移步至评论区。1、什么是JavaScript?(这是基本题,对很多程序员来说也是送分题!)JavaScript是客户端和服务器端脚本语言,可以插入到HTML页面中,并且是目前较热门的Web开...转载 2018-07-03 07:26:22 · 492 阅读 · 0 评论 -
JS面试常见算法题
1.统计一个字符串出现最多的字母和出现的次数 第一种方法:var str = 'abcdeddd'var n = {}for(var i = 0; i < str.length; i++) { var char = str.charAt(i) if(n[char]){ n[char]++ //计算出现的次数 }else{ n[char] = 1 ...转载 2018-09-13 09:35:34 · 252 阅读 · 0 评论 -
前端开发面试题
2018面试题 https://blog.csdn.net/Mike_chen2stockings/article/details/79614514 本文收集总结了一些前端面试题,初学者阅后也要用心钻研其中的原理,重要知识需要系统学习、透彻学习,形成自己的知识链。万不可投机取巧,临时抱佛脚只求面试侥幸混过关是错误的!也是不可能的!不可能的!不可能的! 前端还是一个年轻的行业,新的...原创 2018-09-18 16:04:43 · 205 阅读 · 0 评论 -
Vue路由实现原理
前端路由是直接找到与地址匹配的一个组件或对象并将其渲染出来。通过改变浏览器地址URL,在不重新请求页面的情况下,更新页面视图 有两种方式:1.一种是# hash , 在地址中加入#以欺骗浏览器,地址的改变是由于正在进行页内导航 2.一种是h5的history , 使用URL的Hash来模拟一个完整的URL 当打包构建应用时,Javascript 包会变...原创 2018-09-19 13:07:39 · 4489 阅读 · 0 评论 -
js闭包的理解及例子
闭包概念:1、闭包是指有权访问另一个函数作用域中的变量的函数,创建闭包的最常见的方式就是在一个函数内创建另一个函数,通过另一个函数访问这个函数的局部变量。利用闭包可以突破作用链域,将函数内部的变量和方法传递到外部。闭包的缺点就是常驻内存,会增大内存使用量,使用不当很容易造成内存泄露。2、不必纠结到底怎样才算闭包,其实你写的每一个函数都算作闭包,即使是全局函数,你访问函数外部的全局变量时,就...原创 2018-09-24 19:36:54 · 500 阅读 · 0 评论 -
页面重构和前端性能优化
网站重构:在不改变外部行为的前提下,简化结构、添加可读性,而在网站前端保持一致的行为。也就是说是在不改变UI的情况下,对网站进行优化,在扩展的同时保持一致的UI。对于传统的网站来说重构通常是:表格(table)布局改为DIV+CSS使网站前端兼容于现代浏览器(针对于不合规范的CSS、如对IE6有效的)对于移动平台的优化针对于SEO进行优化深层次的网站重构应该考虑的方面减...原创 2018-09-24 21:33:32 · 1345 阅读 · 0 评论 -
选项卡js和jQ写法
一、原生js写法:<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css">原创 2018-09-25 21:34:19 · 254 阅读 · 0 评论 -
兼容问题
css兼容:1.box-shadow:filter:progid:DXImageTransform.Microsoft.Shadow(color=#909090,direction=120,strength=4);/兼容ie/-moz-box-shadow: 2px 2px 10px #909090;/兼容firefox/-webkit-box-shadow: 2px 2px 10px #9...原创 2018-10-02 21:10:56 · 160 阅读 · 0 评论 -
react常见面试题
1、redux中间件中间件提供第三方插件的模式,自定义拦截 action -> reducer 的过程。变为 action -> middlewares -> reducer 。这种机制可以让我们改变数据流,实现如异步 action ,action 过滤,日志输出,异常报告等功能。常见的中间件:redux-logger:提供日志输出redux-thunk:处理异步操作...原创 2018-09-26 21:34:15 · 6429 阅读 · 0 评论 -
常见浏览器兼容问题
总结的比较详细的博文:https://blog.csdn.net/zfangls/article/details/53908063原创 2018-09-21 17:23:12 · 206 阅读 · 0 评论 -
cookies,sessionStorage 和 localStorage 的区别
区别:cookie是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。cookie数据始终在同源的http请求中携带(即使不需要),记会在浏览器和服务器间来回传递。sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。存储大小: cookie数据大小不能超过4k。 sessionStor...原创 2018-09-21 19:32:47 · 227 阅读 · 0 评论 -
token验证登录
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>token</title> <!-- 引入 echarts.js --> <script src="https://c原创 2018-09-21 20:53:56 · 845 阅读 · 0 评论 -
AMD与CMD区别
AMD与CMD区别关于这两个的区别网上可以搜出一堆文章,简单总结一下最明显的区别就是在模块定义时对依赖的处理不同1、AMD推崇依赖前置,在定义模块的时候就要声明其依赖的模块2、CMD推崇就近依赖,只有在用到某个模块的时候再去require这种区别各有优劣,只是语法上的差距,而且requireJS和SeaJS都支持对方的写法AMD和CMD最大的区别是对依赖模块的执行时机处理不同,注...原创 2018-09-27 17:16:46 · 366 阅读 · 0 评论 -
面向对象----面向过程
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。1.什么是面向对象技术?面向对象技术是一种以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术。它具有抽象性、封...转载 2018-09-27 21:04:17 · 244 阅读 · 0 评论 -
stack Error: Can't find Python executable 'python'
https://blog.csdn.net/szhielelp/article/details/78528154原创 2018-10-15 17:32:27 · 632 阅读 · 0 评论 -
Vuex状态管理模式的面试题及答案
1、vuex有哪几种属性?答:有五种,分别是 State、 Getter、Mutation 、Action、 Module2、vuex的State特性是?答: 一、Vuex就是一个仓库,仓库里面放了很多对象。其中state就是数据源存放地, 1、vuex有哪几种属性?答:有五种,分别是 State、 Getter、Mutation 、Action、 Module2、vuex的...翻译 2018-09-13 09:20:41 · 419 阅读 · 0 评论 -
Vue面试题总结
https://blog.csdn.net/Fundebug/article/details/827816631、active-class是哪个组件的属性?嵌套路由怎么定义?答:vue-router模块的router-link组件。 2、怎么定义vue-router的动态路由?怎么获取传过来的动态参数? 答:在router目录下的index.js文件中,对path属性加上/:i...转载 2018-09-13 09:15:38 · 511 阅读 · 0 评论 -
js前端面试题总结及答案
金三银四,金九银十”,用来形容求职最好的几个月。但是随着行业的饱和,初中级前端er就业形势不容乐观。行业状态不可控,我们能做的当然只是让自己变得更加具有竞争力。今年自己也用了几个月的时间来准备笔记面试,巩固基础知识。特此将自己在这个过程总结的题目分享出来,希望对于求职和准备求职的同学有所帮助。CSS列举不同的清除浮动的技巧12345678910111213141516171819202122232...转载 2018-07-03 23:57:10 · 465 阅读 · 0 评论 -
25 个最基本的 JavaScript 面试问题及答案
1.使用 typeof bar === "object" 来确定 bar 是否是对象的潜在陷阱是什么?如何避免这个陷阱?尽管 typeof bar === "object" 是检查 bar 是否对象的可靠方法,令人惊讶的是在JavaScript中 null 也被认为是对象!因此,令大多数开发人员惊讶的是,下面的代码将输出 true (而不是false) 到控制台:var bar = null;co...转载 2018-07-03 23:58:58 · 144 阅读 · 0 评论 -
JS面试题及答案
一、JS闭包。f = function() {return true;}; g = function() {return false;}; (function() { if (g() && [] == ![]) { f = function f() {return false;}; function g() {return true...转载 2018-07-04 00:03:53 · 600 阅读 · 0 评论 -
前端学习网站
相关链接ICONFONT (阿里图标)http://www.iconfont.cn/collections/detail?spm=a313x.7781069.1998910419.d9df05512&cid=7077阿里云(&短信服务)https://www.aliyun.com/?spm=a2c44.11131515.0.0.eplovT(https://ac...原创 2018-08-14 09:33:58 · 462 阅读 · 0 评论 -
js实现页面侧滑菜单效果
写手机站的时候经常会有侧滑菜单,下面就为大家介绍:先定义一个最外层div container,这个也是页面显示部分,设置样式overflow: hidden;然后在container里面定义个div为侧滑菜单,样式为:position: absolute;top: 0px;left:-菜单宽度;还需要在container里面写一个div main,这个div里面存放主页面下面就是j...原创 2018-08-15 09:09:55 · 2585 阅读 · 0 评论 -
报错:“Please enter a commit message to explain why this merge is necessary,especi”的解决办法
问题:我们在用git管理版本控制时,有时候会遇到git合并分支或者push时,会报错: `Please enter a commit message to explain why this merge is necessary,especially if it merges an updated upstream into a topic branch。` 然后我们按...原创 2018-08-17 14:08:57 · 3779 阅读 · 0 评论 -
promise兼容浏览器问题
一、兼容ES6问题1、在项目中使用到了ES6的Promise对象,代码在谷歌浏览器中正常运行,而在360浏览器下的兼容模式下,IE内核是不支持Promise的。2、通过can i use网站https://caniuse.com/)查到的ES6 promise的支持情况 3、要是在项目中使用Promsie对象,解决方法是使用第三方插件bluebird.js(github地址:h...原创 2018-09-16 20:44:19 · 5360 阅读 · 0 评论 -
前端项目开发流程
当前分为以下四个阶段 第一阶段 库/框架选型(暂定react) 第二阶段 简单构建优化 NPM管理包 node+webpack打包 第三阶段 JS、CSS模块化开发 第四阶段 组件化开发 开发过程当中注意:前...翻译 2018-09-16 20:54:09 · 8441 阅读 · 0 评论 -
js 面向对象的理解
写的比较好的博客:https://blog.csdn.net/lihangxiaoji/article/details/79753473js--真正了解面向对象:https://blog.csdn.net/jcx5083761/article/details/8606576 <!DOCTYPE html><html lang="en"><head&...原创 2018-09-16 21:06:02 · 1028 阅读 · 0 评论 -
面试题总结
项目开发流程是怎么样的产品的研发流程分为四个步骤:产品定义——交互设计——开发——测试。这四个步骤也分别对应研发中的四个角色:产品经理——设计师——开发工程师——测试工程师。 草图——低保真原型——高保真原型开发1、app软件开发大功能模块代码编写2、app软件开发大概的界面模块编写3、把大概的界面和功能连接后,app软件开发的大致demo就出来了4、demo自己试用...原创 2018-09-17 21:20:00 · 209 阅读 · 0 评论 -
node总结
node知识点记录 简介: nodeJS依赖于Chrome V8引擎进行代码解释的一个JavaScript运行环境(v8是由c++语言编写的一个JS引擎) 特点: 单线程异步非阻塞 异步I/O 事件与回调 单线程 跨平台 常用dos命令: cd\ 返回根目录 ...原创 2018-09-17 21:22:40 · 238 阅读 · 0 评论 -
react插件篇
在react中进行数据请求: fetch:检验浏览器是否支持:if(self.fetch) { // run my fetch request here} else { // do something with XMLHttpRequest?}发起请求: fetch('flowers.jpg').then(function(response) {...原创 2018-09-17 21:28:08 · 1095 阅读 · 0 评论 -
react生命周期
1:construct 类似 Vue 中的 beforeCreated 和 Created;操作:(1)当前组件的检测; 2:componentWillMount 介绍:类似Vue 中 beforemount ;在render函数调用之前进行调 用;: 3:render 纯函数 ; 操作 (1)不能调用setstate进行数据的改变,否则会陷入死循环...原创 2018-09-17 21:40:55 · 204 阅读 · 0 评论 -
JQ总结
JQ入门1、 在jQuery库中,$ 就是jQuery的一个简写形式 例如: $(“#nan”)==jQuery(“#nan”)2、当浏览器解析完document后,执行ready小括号内的函数3、JQ优点: 轻量级、强大的选择器、出色的DOM操作、可靠的事件处理机制、完善的Ajax、出色的浏览器兼容性、链式操作方式、丰富的插件支持、完善的文档、开源4、 jQuery选择器...原创 2018-09-17 21:48:19 · 423 阅读 · 0 评论 -
Sass与Less区别
Sass与Less区别1、编译环境不一样Sass需要安装Ruby,属于服务端处理,然而Less是需要引入官网提供和的less.js,属于客户端处理。2、变量声明不一样Sass/Scss 使用的是$,而Less使用的是@// Sass$lightColor:#baf;// Less@lightColor:#baf;3、输出格式设置Less无输出格式,Sass可以...原创 2018-09-13 08:35:03 · 159 阅读 · 0 评论 -
webpack与gulp的区别
gulp: 强调的是前端开发的流程,通过配置一系列的task,定义task处理的事务(例如:文件压缩合并,启动server),然后定义执行顺序,来让gulp执行task,从而构建其前端项目的流程。合并后仍然是你写的代码,只是局部变量名被替换,一些语法做了转换而已,整体内容并没有发生改变。webpack:侧重模块打包,把开发中的所有资源(图片,js文件,css文件等)都开成模块,通过loader...原创 2018-09-13 08:43:07 · 237 阅读 · 0 评论 -
Vue、React同一个dom元素如何绑定多个点击事件?
Vue:<button type="button" @click="a();b()">vue按钮</button>React:<button type="button" onClick={function(event){ a(); b()}}>react按钮</button>听说现在比较流行ES6?React:&原创 2018-10-17 11:31:30 · 2454 阅读 · 1 评论