- 博客(75)
- 收藏
- 关注
原创 前端react面试题
1、什么事虚拟DOM,为什么要使用虚拟DOM2、react中key的作用是什么3、react如何定义组件,他们之间有什么区别4、什么是flux思想以及react-redux的执行流程5、setState是同步还是异步6、什么是受控组件什么是非受控组件,为什么要受控...
2020-05-01 16:26:17 205
原创 使用MacBook前端开发小技巧(HomeBrew)
1.Homebrew(中文官网)首先作为前端开发可能需要安装各种浏览器和安装一些环境之类的可以使用Homebrew一行代码快速的完成这些安装操作,不必再去浏览器搜索下载安装,例如:Xcode、node(nvm)、git、vscode、wget、Firfox、Google-Chrome、docker等注:先安装Xcode,建议去AppStore上直接下载,最好不要安装node安装nvm(no...
2020-04-27 10:54:04 1130
原创 前端常见的面试题
面试题一:浏览器渲染页面的流程 渲染引擎首先通过网络获得所请求文档的内容,通常以8K分块的方式完成。下面是渲染引擎在取得内容之后的基本流程: 解析html以构建dom树 -> 构建render树 -> 布局render树 -> 绘制render树 这里先解释一下几个概念,方便大家理解: DOM Tree:浏览器将HTML解析成树形的数据结构。...
2019-10-29 17:09:55 161
原创 Vue-生命周期
一、生命周期 1、挂载阶段 1.beforeCreate:在实例初始化之后,数据观测(dataobserver)和event/watcher事件配置之前被调用。(实例被创建之前的函数)阶段,vue实例挂载元素el和数据对象data都是undefined,还未初始化。 2.created:在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观...
2019-10-28 09:01:00 100
原创 sass的安装使用
一、sass sass----CSS 扩展语言或 CSS 预处理器,是一种 CSS 的开发工具,提供了许多便利的写法,节省了设计者的时间,使得 CSS 的开发变得简单和可维护二、安装 1、sass 是用Ruby语言写的(但是两者之间的语法没有关系);首先第一种安装sass,需要依赖于ruby环境 1.下载ruby:https://rubyinstaller...
2019-10-17 10:50:00 255
原创 localStorage/sessionStorage与cookie的区别
一、localStorage/sessionStorage localStorage: 1、localStorage生命周期是永久,这意味着除非用户显示在浏览器提供的UI上清除localStorage信息,否则这些信息将永远存在 2、存放数据大小为一般为5MB 3、它仅在客户端(即浏览器)中保存不参与和服务器的通信 sessionStorage:...
2019-10-17 09:56:00 114
原创 node操作mongodb数据库
一、链接数据库 1、下载mongodb模块 cnpm install mongodb 2、引入mongodb模块 const mongodb = require("mongodb"); 3、链接数据库const mongodb = require("mongodb");const mongoClient = mongodb.MongoClient;fun...
2019-10-14 18:01:00 140
原创 MongoDB
一、下载安装 下载地址:https://www.mongodb.com/download-center/community二、配置环境变量 1、找到下载之后MongoDB下的bin文件夹,复制其地址 C:\Program Files\MongoDB\Server\3.2\bin 2、打开计算机属性=>高级系统设置=>环境变量=>编辑...
2019-10-14 17:38:00 79
原创 观察者模式
一、什么是观察者模式 观察者模式又叫做发布—订阅模式,是我们最常用的设计模式之一。它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知和更新。观察者模式提供了一个订阅模型,其中对象订阅事件并在发生时得到通知,这种模式是事件驱动的编程基石,它有利益于良好的面向对象的设计。二、观察者模式的使用场景 1、实际上,只要我们曾经在DOM节点...
2019-09-10 09:55:00 103
原创 async与await
async/await的基础用法一、async/await的优点1)方便级联调用:即调用依次发生的场景;2)同步代码编写方式:Promise使用then函数进行链式调用,一直点点点,是一种从左向右的横向写法;async/await从上到下,顺序执行,就像写同步代码一样,更符合代码编写习惯;3)多个参数传递:Promise的then函数只能传递一个参数,虽然可以通过包装...
2019-09-09 15:44:00 112
原创 PHP链接数据库
1. PHP内置函数介绍先介绍一些PHP的常用函数作为参考,再进行操作就很容易了。1)连接数据库Mysql_connect(ip,用户名,密码) or die (‘连接失败!’);2)选择数据库(两种方法)方法一: Mysql_query(‘use 数据库名’);方法二: Mysql_select_db(‘数据库名’);3)设置客户端的字符编码如果遇到了...
2019-09-09 10:29:00 161
原创 HTTP协议
一、HTTP的概念 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。 它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,是用于从WWW服务器传输超文本到本地浏览器的传送协议。 它可以使浏览器更...
2019-09-03 12:01:00 87
原创 JQuery
一、jQuery简介 (一)jQuery 是一个快速、轻量级、可扩展的 js 库,它提供了易于使用的跨浏览器的API,使得访问dom,时间处理、动画效果、ajax请求变得简单;简化了JS对DOM的操作 (二)jQuery下载官网:https://jquery.com/download/二、jQuery版本 (一)压缩版:compressed, production ...
2019-09-02 12:11:00 94
原创 Vue-vuex
一、vuex是对数据的管理者 管理方式:集中式管理 数据 方法 计算 模块 可以解决vue当中的频繁传递繁琐问题,通过vuex来对数据进行传值;vuex可以对数据进行共享,并且某个组件数据发生变化,相对应的组件也会发生变化;也是双向绑定 使用: 下载:cnpm install vuex -S 引入:import vuex fr...
2019-09-02 12:10:00 86
原创 React-事件绑定
一、class方式定义组件事件绑定的几种方法由于类的方法默认不会绑定this,因此在调用时候如果忘记绑定,this的值将会是undefined。通常如果不是直接调用,应该为方法绑定this,绑定方式有以下几种: (一)在构造函数中使用bind绑定this 1 class Button extends React.Component { 2 con...
2019-09-02 12:10:00 81
原创 Node
一、客户端 vs 服务器二、静态页面 vs 动态页面三、什么是node.js 1.node.js是一个基于Chrome的V8引擎的JavaScript运行环境使用了事件驱动以及非阻塞的I/O式模型 nodejs中的npm是全球最大的包管理网站 2.V8引擎是一款最好的JavaScript脚本引擎 渲染引擎 3.I/O模型 I:input...
2019-09-02 12:07:00 381
原创 Vue-axios/resource
一、vue-resource老版本的请求数据 (一)使用: 1、引入:resource.js 参数1:请求地址 参数2:传递的值 参数3:回调函数名 2、通过then接收返回的结果 this.$http.jsonp("地址",{传递的值},{jsonp:"cb"}).then(data=>{})...
2019-09-02 12:06:00 58
原创 Vue-路由(router)
一、路由 (一)前端路由 每一个路由都是一个对象 (二)路由模式:mode 1、hash路由,会带#号的哈希值(默认) 2、history路由,不会带#号(要有后端支持),只在开发环境有效,在其他环境中,一旦刷新就会找不到,需要设置重定向 (三)路由的常用配置项 1、path:路由请求的路径 2、component:路由...
2019-08-27 14:32:00 261
原创 Vue-cli
一、脚手架(vue-cli) (一)什么是脚手架 概念:是一种用于快速开发Vue项目的系统架构 优点:能够帮助咱们快速的开发项目 缺点:由于脚手架适用于各种项目的开发,而不是单独的针对某一项目单独研发的,会出现代码冗余 (二)脚手架的使用: 1、安装脚手架 vue-cli 全局安装打开cmd运行:cnpm insta...
2019-08-27 14:30:00 132
原创 Vue-概念、指令、修饰符
一、Vue概念 (一)什么是Vue:渐进式JavaScript框架 (二)Vue特点:数据进行驱动 (三)两大核心:虚拟DOM,双向绑定 (四)版本: 1、开发版本:包含完整的警告和调试模式 2、生产版本:删除了警告,33.30KB min+gzip二、Vue指令 (一)指令:对HTML标签属性的一种扩展,以v-开头 1、v...
2019-08-27 14:29:00 100
原创 ES6
一、ES6概念 JavaScript是EMCAScript的一种,它只是一种标准,js一直被各个语言诟病,因为js的作用域让开发者困扰,也因为js在以前不算是面向对象的语言。ES6的出现,让js语言上了一个台阶。js在发展过程中,一直在完善自己的漏洞。ES6将弱类型的js提升为中弱类型。所以我们必须要学习ES6。二、定义变量 1.let是定义变量的关键字,特点是: ...
2019-08-27 14:25:00 113
原创 gulp安装流程、使用方法及CMD常用命令导览
gulp安装流程、使用方法及CMD常用命令导览 一、名词介绍:Npm——node包管理工具一开始我不理解,包管理工具是什么鬼。后来用到的gulp也好,gulp的插件包也好,都是要在npm这个里边弄出来的。可以理解为,一个硬盘,里边放的各种整理好的、适用于各种功能的且不重复的文件夹(插件),然后我们需要啥,就去里边摘下来。当然也可以用它来删除插件rimraf删...
2019-08-27 10:28:00 191
原创 gulp基础
一、什么是gulp? (一)gulp是前端项目的自动化构建工具二、gulp的作用 (一)常用的gulp插件 1、压缩JS 2、合并文件 3、重命名文件 4、编译sass 5、压缩css 6、压缩图片三、gulp依赖的运行环境: node.js四、安装node.js并测试是否安装成功五、全局安装gulp...
2019-08-27 10:26:00 63
原创 字符串及字符串的方法
一、字符串 JS中的任何数据类型都可以当作对象来看。所以string既是基本数据类型,又是对象。二、声明字符串 var sStr = ‘字符串’; var oStr = new String(‘字符串’);三、字符串属性 1.length计算字符串的长度(不区分中英文)。 var str = 'hello world'; console...
2019-08-27 10:21:00 96
原创 ES5
一、ES5简介 ECMAScript 5.1 (或仅 ES5) 是ECMAScript(基于JavaScript的规范)标准的修正。 与HTML5规范进程本质类似,ES5通过对现有JavaScript方法添加语句和原生ECMAScript对象做合并实现标准化。二、ES5严格模式 目的: 1.消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为。...
2019-08-27 10:13:00 109
原创 JS的设计模式
一、什么是设计模式? (一)设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。二、单例模式 (一) 概念:单个实例,只有一个对象,多次创建,返回同一个对象。单例模式的核心:确保只有一个实例,并提供全局访问。 (二) 实现浮窗三、 组合模式 (一) 组合多个对象形成树形结构以表示具有“整体-部分”关系的层...
2019-03-14 21:04:00 132
原创 VSN与GitHub
一、VSN 和 GitHub (一)VSN集中化的版本控制系统:拥有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。 (二)GitHub分布式版本控制系统:客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的...
2019-03-13 09:45:00 534
原创 JS闭包函数的概念及函数的继承
一、闭包和函数 (一)什么是闭包函数 概念:简单说就是函数中嵌套函数,嵌套在这里面的函数叫做闭包函数,外面的函数叫做闭包环境 作用:通过闭包函数,可以访问到闭包函数所在局部作用域中的变量及参数 特点:闭包的特点或本质:将局部变量常驻内存,这既是它的优点也是它的缺点,使用不当还会造成内存泄漏 闭包的原理:闭包是利用JS中的垃圾回收机制,当一个函...
2019-03-11 22:09:00 94
原创 Promise的工作原理
一、什么是Promise (一)Promise是ES6新增的解决异步(非阻塞)中存在的问题而产生的构造函数二、Promise中的三种状态 pending(进行中) resoved(成功后) rejected(失败后)三、Promise.prototype.then : 当promise的状态返回resove时,则调用then()方法 Promise.prot...
2019-03-11 22:02:00 176
原创 JS原生的Ajax
一、Ajax的概念 (一)Ajax是一种在无需重新加载整个网页(刷新网页)的情况下能够更新部分网页的技术 (二)Ajax的全称是Asynchronous JavaScript and XML,即异步JavaScript+XML,它并不是新的编程语言,而是几种原有技术的结合体二、Ajax的优势 (一)无刷新更新数据 (二)异步与服务器通信 (三)前端和后端...
2019-03-11 21:54:00 134
原创 MySQL数据库的基本操作
一、mySQL数据库 (一)数据库的概念 1、概念:可以存储数据的一个仓库 2、结构化数据:以表格的形式展现,结构更清晰,这样的数据称之为结构化数据; 3、关系型数据库与非关系型数据库:读取文件速度非关系型更快 (二)数据库管理软件 1、一种对数据库文件进行管理的软件,通常简称数据库 2、常见的数据库管理软件:Oracle、M...
2019-03-11 21:51:00 82
原创 PHP基础语法
一、1、服务器和客户端客户端 程序: 通过浏览器直接运行服务器 程序: 通过安装某种服务器软件 程序才可以运行 apache php文件 tomcat jsp文件 iis .asp文件 .net服务器文件必须在某种协议下运行 http 和 http...
2019-03-11 21:49:00 75
原创 JS原型链
一、创建对象的方法 (一)在了解原型链之前,首先先了解一下创建对象的几种方式,介绍以下三种。 代码:<script type="text/javascript"> // 第一种方式:字面量 var o1 = {name: 'o1'} var o2 = new Object({name: 'o2'}) ...
2019-03-11 21:05:00 62
原创 JS兼容问题
//1.滚动条到顶端的距离 var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;//2.滚动条到左边的距离 var scrollLeft = document.documentElement.scrollLeft || document.body.ScrollLeft;//...
2019-02-26 16:06:00 58
原创 ES5与ES6
一、ES5及ES6 (一)严格模式 (二)bind/call/apply(改变上下文this指向,都是函数对象的方法) 1、bind:返回值是一个函数 2、call:返回值是一个对象 3、apply:返回值是一个对象 (三)JSON.parse/JSON.stringify 1、JSON.parse():将json字符串转为jso...
2019-02-25 09:33:00 108
原创 正则表达式
一、正则表达式 (一)正则的概念 1、正则表达式是一种特殊的字符串模式,用于匹配一组字符串,就好比用模具做产品,而正则就是这个模具,定义一种规则去匹配符合规则的字符 (二)创建正则的方式 1、字面量的方式:/正则表达式/标志位; 2、构造函数方式:new RegExp('正则表达式','标志位') (三)正则表达式的方法 1、正则...
2019-02-23 08:54:00 58
原创 Cookie
一、cookie (一)什么是cookie: 1、就是会话跟踪技术,存放在客户端浏览器中的一段文本信息 2、会话:从浏览网站开始到结束的这个过程称为一次会话,浏览器关闭,表示会话结束 3、会话跟踪技术:客户端向服务器请求数据,多次请求时,实现数据共享的过程,称为会话跟踪技术 (二)cookie的存取 1、document.c...
2019-02-21 10:06:00 78
原创 JS浏览器的默认行为及阻止行为
一、浏览器的默认行为以及阻止行为 (一)右键菜单事件:oncontextmenu; 阻止:return false; (二)超链接的默认行为:跳转; 阻止:标准浏览器:event.preventDefault(); IE8及以下:event.returnValue = false; 兼容:event.preventDefau...
2019-02-20 10:58:00 186
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人