自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 vue2.x-理解双向绑定

1.前言每当被问到Vue数据双向绑定原理的时候,大家可能都会脱口而出:Vue内部通过Object.defineProperty方法属性拦截的方式,把data对象里每个数据的读写转化成getter/setter,当数据变化时通知视图更新。虽然一句话把大概原理概括了,但是其内部的实现方式还是值得深究的,本文就以通俗易懂的方式剖析Vue内部双向绑定原理的实现过程。2.思路分析所谓MVVM数据双向绑定,即主要是:数据变化更新视图,视图变化更新数据。如下图:也就是说:输入框内容变化时,data 中的数据

2020-12-21 21:48:42 218

原创 Vue项目中列表组件中写key的作用

key的作用是什么?key是给每一个vnode的唯一id,可以依靠key,更准确, 更快的拿到oldVnode中对应的vnode节点。可以参考一下这个sameVnode的源码。官网推荐的使用key,应该理解为“使用唯一id作为key”。因为index作为key,和不带key的效果是一样的。index作为key时,每个列表项的index在变更前后也是一样的,都是直接判断为sameVnode然后复用。说到底,key的作用就是更新组件时判断两个节点是否相同。相同就复用,不相同就删除旧的创建新的。正是因

2020-11-16 22:40:13 444

原创 axios配置和实现请求中断

qs库使用介绍axios 默认使用的是 content-type 是 application/json , 也就是后端经常让你把参数放在 body中的那种格式,传输的样式是requestbody{ name:xxx, age:xxx}如果使用的qs进行系列化,那 content-type 就是 application/x-www-form-urlencoded,也就是常说的表单提交,传输的样式是formdata name:xxx, age:xx

2020-09-01 22:18:44 3232

原创 JS异步编程及常见面试题

JS 异步编程及常考面试题并发(concurrency)和并行(parallelism)区别涉及面试题:并发与并行的区别?异步和这小节的知识点其实并不是一个概念,但是这两个名词确实是很多人都常会混淆的知识点。其实混淆的原因可能只是两个名词在中文上的相似,在英文上来说完全是不同的单词。并发是宏观概念,我分别有任务 A 和任务 B,在一段时间内通过任务间的切换完成了这两个任务,这种情况就可...

2019-09-21 23:48:43 587

原创 EventLoop那些事儿

Event Loop在实践的过程中,你是否遇到过以下场景,为什么 setTimeout 会比 Promise 后执行,明明代码写在 Promise 之前。这其实涉及到了 Event Loop 相关的知识,我们来详细地了解 Event Loop 相关知识,知道 JS 异步运行代码的原理。进程与线程涉及面试题:进程与线程区别?JS 单线程带来的好处?相信大家经常会听到 JS 是单线程执行的...

2019-09-16 22:42:45 159

原创 ['1', '2', '3'].map(parseInt) what & why ?

今天在【壹题】中看到了这样一个题目:[‘1’, ‘2’, ‘3’].map(parseInt) what & why ?第一眼看到这个题目的时候,脑海跳出的答案是 [1, 2, 3],但是真正的答案是**[1, NaN, NaN]**,这里记录一下看了大神们的分析后的总结。这个主要是讲JS的映射与解析早在 2013年, 加里·伯恩哈德就在微博上发布了以下代码段:['10',...

2019-09-10 16:55:04 168

原创 浅谈Cookie、HttpOnly那点事儿

一. Cookie介绍众说周知,Cookie 在浏览器里可以保存一些例如 tokenId 等的一些控制系统登 录状态的数据。通过 Cookie 和 Session 技术来实现记录访问者的一些基本信息, Cookie 可以翻译为“小甜品,小饼干” ,Cookie 几乎在所有的网络中都会出现,Cookie 实际上是指小量信息,是由 Web 服务器创建的,将信息存储在用户计算机上的文件。一般习惯用其复...

2019-09-10 12:06:56 5764

原创 ...args剩余参数(展开运算符)的用法及与arguments的区别

…args剩余参数(展开运算符)允许一个表达式在某处展开。展开运算符在多个参数(用于函数调用)或多个元素(用于数组字面量)或者多个变量(用于解构赋值)的地方可以使用。剩余参数语法允许我们将一个不定数量的参数表示为一个数组。function sum(...theArgs) { return theArgs.reduce((previous, current) => { retu...

2019-09-02 23:15:53 13981 2

原创 详解JavaScript继承的几种方式

属性拷贝就是将对象的成员复制一份给需要继承的对象// 创建父对象var superObj = { name: 'Li', age: 25, friends: ['小明', '小李', '小赵'], showName: function(){ alert(this.name); }}// 创建需要继承的子对象var subObj = {};// 开始...

2019-08-31 12:33:14 158

原创 前端基础知识点总结JS篇

DOM元素e的e.getAttribute(propName)和e.propName有什么区别和联系e.getAttribute(),是标准DOM操作文档元素属性的方法,具有通用性可在任意文档上使用,返回元素在源文件中设置的属性e.propName通常是在HTML文档中访问特定元素的特性,浏览器解析元素后生成对应对象(如a标签生成HTMLAnchorElement),这些对象的特性会根据特定...

2019-08-31 11:43:59 468

原创 JavaScript 函数式编程

昨天进行了人人网的面试,其中在二面中面试官问了“什么是函数式编程”这个问题,我只是听说过这个东西,但是让我讲就讲不出来,最后结束的时候给我的评价就是js基础还行, 但是深入理解不够, 还有一个最关键的就是知识点看到了最好搞懂搞透彻, 不可以自己推测, 但是可以自己做demo实验自己的推测经过这次面试后也发现和认识了自己的不足的地方,在这里也总结记录一下自己学习的JS的函数式编程正文一、...

2019-08-29 22:05:47 214

原创 前端基础知识点总结CSS篇(问题实例)

文字换行overflow-wrap(word-wrap)通用换行控制是否保留单词word-break 针对多字节文本文字中文句子也是单词white-space 空白处是否换行装饰属性及其他字重(粗体) font-weight斜体 font-style: itatic下划线 text-decoration指针 cursor单行文本溢出显示省略号ov...

2019-08-22 10:20:44 225

原创 前端基础知识点总结CSS篇(基础回顾)

CSSCascading Style Sheet 层叠样式表CSS选择器盒模型盒模型有两种, IE 怪异盒子模型、W3C标准盒子模型;盒模型是由: 内容(content)、内边距(padding)、边框(border)、外边距(margin) 组成的。标准模型的宽高是指的content区宽高;IE盒模型的宽高是指的content+padding+border的宽高。CSS如何设...

2019-08-21 13:14:27 218

原创 CSS选择器及优先级权重

CSS 选择器分类标签选择 (div)id选择器 (#id)class选择器 (.class)后代选择 (div a)子代选择 (div > p)相邻选择 (div + p)通配符选择 (*)否定选择器 :not(.link){}属性选择器伪类选择器伪元素选择器 ::before{}CSS3属性选择器选择器描述[attribute]用于选...

2019-08-21 07:40:03 207

原创 Vue之介绍和指令

什么是Vue.jsVue.js 是目前最火的一个前端框架,React是最流行的一个前端框架(React除了开发网站,还可以开发手机App, Vue语法也是可以用于进行手机App开发的,需要借助于Weex)Vue.js 是前端的主流框架之一,和Angular.js、React.js 一起,并成为前端三大主流框架!Vue.js 是一套构建用户界面的框架,只关注视图层,它不仅易于上手,...

2019-07-17 15:04:24 153

原创 webpack结合Vue的使用

webpack结合Vue的使用注意:有时候使用npm i node-sass -D装不上,这时候,就必须使用 cnpm i node-sass -D在普通页面中使用render函数渲染组件在webpack中配置.vue组件页面的解析运行cnpm i vue -S将vue安装为运行依赖;运行cnpm i vue-loader vue-template-compiler -D将解析...

2019-07-14 13:53:34 150

原创 webpack的配置和使用

在网页中会引用哪些常见的静态资源?JS.js .jsx .coffee .ts(TypeScript 类 C# 语言)CSS.css .less .sass .scssImages.jpg .png .gif .bmp .svg字体文件(Fonts).svg .ttf .eot .woff .woff2...

2019-07-01 11:10:07 136

原创 浏览器工作原理

浏览器工作原理浏览器的组成人机交互部分(UI)网络请求部分(Socket)JavaScript引擎部分(解析执行JavaScript)渲染引擎部分(渲染HTML、CSS等)数据存储部分(cookie、HTML5中的本地存储LocalStorage、SessionStorage)sqlite主流渲染引擎介绍渲染引擎 又叫 排版引擎 或 浏览器内核。主流的 渲染引擎 ...

2019-06-03 19:24:36 1404

原创 Vue之路由

什么是路由**后端路由:**对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源;**前端路由:**对于单页面应用程序来说,主要通过URL中的hash(#号)来实现不同页面之间的切换,同时,hash有一个特点:HTTP请求中不会包含hash相关的内容;所以,单页面程序中的页面跳转主要用hash实现;在单页面应用程序中,这种通过hash改变来切换页面...

2019-05-09 10:04:39 147

原创 Vue之动画

Vue中的动画为什么要有动画:动画能够提高用户的体验,帮助用户更好的理解页面中的功能;过渡的类名在进入/离开的过渡中,会有 6 个 class 切换。1.v-enter:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。2.v-enter-active:定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡/动画完成之后移除。这个类可...

2019-05-08 09:29:35 185

原创 Vue之组件

定义Vue组件什么是组件: 组件的出现,就是为了拆分Vue实例的代码量的,能够让我们以不同的组件,来划分不同的功能模块,将来我们需要什么样的功能,就可以去调用对应的组件即可;组件化和模块化的不同:模块化: 是从代码逻辑的角度进行划分的;方便代码分层开发,保证每个功能模块的职能单一;组件化: 是从UI界面的角度进行划分的;前端的组件化,方便UI组件的重用;全局组件定义的三种方式使用...

2019-05-08 09:08:00 155

原创 Vue之通过连接数据库的接口获取列表实现添加删除功能

把最近学习vue的一些知识点记录下来,今天记录一下Vue通过vue-resource连接数据库接口渲染列表和添加删除功能首先我们得引入vue的版本文件和vue-resource.js,注意:vue-resource的引入要在vue版本文件之后然后把列表页面写好,然后在methods里写一个获取列表数据的方法:getAllList() { //获取所有的品牌列表 ...

2019-05-07 10:43:56 3377

原创 Vue之生命周期函数和钩子函数详解

在学习vue几天后,感觉现在还停留在初级阶段,虽然知道怎么和后端做数据交互,但是对对vue的生命周期不甚了解。只知道简单的使用,而不知道为什么,这对后面的踩坑是相当不利的。因为我们有时候会在几个钩子函数里做一些事情,什么时候做,在哪个函数里做,我们不清楚。今天就记录一下学习所得。Vue实例有一个完整的生命周期,也就是从开始创建、初始化数据、编译模板、挂载Dom、渲染→更新→渲染、销毁等一系列...

2019-04-28 11:29:00 541 2

原创 后端MVC和前端MVVC关系详解

MVC 是后端的分层开发概念;MVVM是前端视图层的概念,主要关注于 视图层分离,也就是说:MVVM把前端的视图层,分为了 三部分 Model, View , VM ViewModel

2019-04-24 15:37:02 786

原创 阿里云服务器建站——centos7部署apache+mysql+php

自己也是忙活了半天,才完成了阿里云服务器的建站,这里就来分享一下。首先如果是要自己搭建一个网站的话,除了服务器以外还要购买域名,并且要去备案,一般在哪买的域名都有备案的系统,备案的话一般要两到三个星期,域名备案完成后要解析到服务器。这里就不详细介绍这些啦,着重讲环境的搭建。这里讲的是Apache+MySQL+PHP。在centos上部署环境首先远程连接你的服务器,进入centos系统,进入后输...

2019-04-24 09:22:48 207

原创 SQL中关于不能显示count为0的行的问题

今天在写自己一个博客项目时遇到了一个数据库问题,因为对于数据库自己所知道的还是很浅显的,对一些查询语句不怎么熟悉。我目前有一个文章表和评论表,评论表里面有个post_id对应文章表里面的id,想查询出来的是文章表的所有内容和每篇文章对应的评论数,遇到的问题就是如果该文章下面如果没有评论就查不出该篇文章,自己翻阅了数据库书籍和网上找到了一些资料,终于想出了一个解决的办法。以下是两张表和对应的查询...

2019-03-23 13:12:05 2578 1

原创 php载入脚本的几种方式对比

requirerequire_onceincludeinclude_once共同点:都可以在当前 PHP 脚本文件执行时载入另外一个 PHP 脚本文件。require 和 include 不同点:当载入的脚本文件不存在时,require 会报一个致命错误(结束程序执行),而 include 不会。有 once 后缀的特点:判断当前载入的脚本文件是否已经载入过,如果载入了就不在执行...

2019-03-10 13:02:34 163

原创 AJAX跨域请求详解

最近开始学习ajax,学习ajax必须得掌握的就是跨域请求,实际上在不同源的地址上发送请求就是跨域请求域名地址的组成:http:// www . google : 8080 / script/jquery.jshttp:// (协议号)www (子域名)google (主域名)8080 (端口号)script/jquery.js (请求的地址)当协议、子域名、主域名、端口号中...

2019-03-07 22:33:07 208

原创 试试自行封装AJAX和jQuery中的ajax封装的基本使用

封装的套路:1.写一个相对比较完善的用例2.写一个空函数,没有形参,将刚刚的用例直接作为函数的函数体3.根据使用过程中的需求抽象函数代码记录如下:<script> function ajax (method,url,params,done) { method=method.toUpperCase(); ...

2019-03-07 10:23:25 292

原创 AJAX快速上手和基本核心

一、快速上手AJAX使用ajax的过程可以类比平常我们访问网页过程1.创建一个XMLHttpRequest类型的对象------相当于打开了浏览器var xhr = new XMLHttpRequest();2.打开一个网址之间的连接-------相当于在地址栏输入访问地址xhr.open('GET', 'http://test1.com/ajax/time.php');3.通过连...

2019-03-05 15:53:13 166

原创 php中mysqli_fetch_assoc()和mysqli_fetch_row()的区别

mysqli_fetch_assoc() 函数从结果集中取得一行作为关联数组:<?php // 假定数据库用户名:root,密码:123456,数据库:RUNOOB $con=mysqli_connect("localhost","root","123456","RUNOOB"); if (mysqli_connect_errno($con)) { echo "连接 M...

2019-02-27 23:39:25 716

原创 mysql与PHP建立连接实现增删查改

mysql与PHP连接的查询写法:<?php //1.建立与数据库的连接//类似于宽字符集问题,mysqli是额外的扩展//需要找到配置文件去开启扩展//如果需要在调用函数 之前忽略错误或者警告可以在函数名之前加上@ $connection=mysqli_connect('127.0.0.1','root','root','demo');if (!$connection)...

2019-02-26 21:32:05 376

原创 PHP实现用户注册并保存数据到文件

首先我们实现功能时,分析实现的步骤是什么,就这个而言,我们应该接收用户提交的数据并进行校验,然后保存在文件,最后给用户反馈。这里需要注意的是为了避免嵌套过深,这里使用自定义函数来实现,其代码如下:<?php function postback(){ //申明message是全局变量 global $message; if (empty($_POST['username'])) {...

2019-01-23 14:35:13 1366

原创 PHP文件域上传文件

PHP中使用文件域上传文件,需要几个步骤,首先先判断有无文件域,然后判断是否选择了文件,最后判断文件是否上传成功。需要注意的是 表单中有文件域,必须将method设置为post, enctype设置为multipart/form-data在文件上传时会给服务端以数组的形式返回几个值,如下://array(5) { // ["name"]=> // string(25...

2019-01-23 14:33:32 556 1

原创 浏览器与服务端请求响应流程与HTTP协议

浏览器与服务端请求响应流程图:HTTP1.概要1.1.定义HTTP(HyperText Transfer Protocol,超文本传输协议)最早就是计算机与计算机之间沟通的一种标准协议,这种协议限制了通讯内容的格式以及各项内容的含义。随着时代的发展,技术的变迁,这种协议现在广泛的应用在各种领域,也不仅仅局限于计算机与计算机之间,手 机、电视等各种智能设备很多时候都在使用这种协议通...

2019-01-22 14:28:05 498

原创 apache(OS 10013)以一种访问权限不允许的方式做了一个访问套接字的尝试 ...

今天启动Apache时,报了“(OS 10013)以一种访问权限不允许的方式做了一个访问套接字的尝试。 : make_sock: could not bind to address 0.0.0.0:80”的错误。查阅资料发现是端口冲突,仔细检查发现80端口被IIS占用了。解决方法:改端口号,打开.\apache\conf\httpd.conf,将其中的监听端口,由80改为81。# Chang...

2019-01-15 14:11:01 2631

原创 如何让手机访问电脑本地服务器的网页---超简单

如何让手机访问电脑本地服务器的网页超简单超实用移动开发的前端来说,使用各种真机来进行自己网站进行查看是必要的。因此,会经常通过电脑开启一个 wifi 来供手机进行连接,形成一个小的局域网,然后就通过局域网的 ip 地址(查询 ip 地址,cmd——》ipconfig), 通过 ip 地址来进行自己本地服务器中的项目访问。这种方法十分的简单,下面我为大家一一介绍。第一步:查看自己的电脑有没有安...

2019-01-06 16:36:51 14164 9

原创 使用jQuery获取元素的宽度或高度的几种情况

今天说说使用jQuery获取元素大小的遇到几种情况使用jQuery获取元素的宽度或高度的有几种情况:1.使用width(),它只能获取当前元素的内容的宽度;2.使用innerWidth(),它只能获取当前元素的内容的宽度+padding;3.使用outerWidth(),它只能获取当前元素的内容的宽度+padding+border;4,使用outerWidth(true),它只能获取当前...

2019-01-05 17:07:58 909

原创 less环境的安装与搭建

less环境的安装与搭建less: Less 是一门 CSS 预处理语言,它扩充了 CSS 语言,增加了诸如变量、混合(mixin)、函数等功能,让 CSS 更易维护、方便制作主题、扩充。Less 可以运行在 Node 或浏览器端。 安装:第一步:less需要运行在node.js的环境下,所以需要先安装node.js(底下链接给了node.js和less的安装文件和压缩文件,需要请自行...

2019-01-05 14:28:24 760

原创 原生JS-旋转木马

原生JS-旋转木马 今天写一个原生JS写的旋转木马JS效果。 实现原理: 1.建立一个数组给每一张图片写对应的z-index,opacity,top,width; 2.实现旋转的操作是把建造的数组里面的第一组值放到最后一组,点下按钮就执行一次。 显示效果图: html布局:<div class="wrap" id="wrap"> <div clas...

2018-08-22 13:39:44 2676 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除