自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 js基础之手写apply、call、bind

不传入第一个参数,那么上下文默认为 window改变了 this 指向,让新的对象可以执行该函数,并能接受参数实现call首先 context为可选参数,如果不传的话默认上下文为 window接下来给 context 创建一个 fn 属性,并将值设置为需要调用的函数因为 call 可以传入多个参数作为调用函数的参数,所以需要将参数剥离出来然后调用函数并将对象上的函数删除Function.prototype.myCall = function(context) {//判断传入的contex

2020-05-13 10:37:53 263

原创 js基础之深浅拷贝

浅拷贝首先可以通过 Object.assign 来解决这个问题,很多人认为这个函数是用来深拷贝的。其实并不是,Object.assign 只会拷贝所有的属性值到新的对象中,如果属性值是对象的话,拷贝的是地址,所以并不是深拷贝let a = { age: 1}let b = Object.assign({}, a)a.age = 2console.log(b.age) // 1另外我们还可以通过展开运算符 … 来实现浅拷贝let a = { age: 1}let b = { ..

2020-05-13 07:56:53 152

原创 ES7——异步解决方案async

ES2017 标准引入了 async 函数,使得异步操作变得更加方便。 async 函数是什么?一句话,它就是 Generator 函数的语法糖。var fs = require('fs'); var readFile = function (fileName) { return new Promise(function (resolve, reject) { fs.readFile(fileName, function(error, data) { if (error) return

2020-05-12 09:46:54 351 1

原创 ES6知识点——symbol

概述ES5 的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他 人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就 有可能与现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二 的就好了,这样就从根本上防止属性名的冲突。这就是 ES6 引入 Symbol 的原 因。ES6 引入了一种新的原始数据类型 Symbol ,表示独一无二的值。let s = Symbol(); typeof s // "symbol"上面代码中,变量 s 就是一个

2020-05-12 08:51:55 177

原创 ES6知识点——Map和Set数据结构

SetES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。const s = new Set(); [2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x)); for (let i of s) { console.log(i); }// 2 3 5 4//上面代码通过 add 方法向 Set 结构加入成员,结果表明 Set 结构不会添加重复的值。Set 函数可以接受一个数组(或者具有 iterable 接口的其他数

2020-05-12 08:37:57 132

原创 http与html相关知识点小结

1.http与https区别http协议:是超文本传输协议,信息是明文传输。如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息。2、https协议zhidao:是具有安全性的ssl加密传输协议,为浏览器和服务器之间的通信加密,确保数据传输的安全。二、连接方式不同1、http协议:http的连接很简单,是无状态的。2、https协议:是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。三、端口不同1、http协议:使用的端口是80。2、https协议

2020-05-12 07:20:18 1958

原创 javascript常用内置对象方法(String篇)

常用实例方法笔记总结charAt()用途:返回指定位置的字符串var s = new String('abc');s.charAt(1) // "b"s.charAt(s.length - 1) // "c"//这个方法完全可以用数组下标替代。'abc'.charAt(1) // "b"'abc'[1] // "b"//如果参数为负数,或大于等于字符串的长度,charAt返回空字符串。charCodeAt()用途:返回指定位置字符串指定位置的 Unicode 码点(十进制表示)'

2020-05-11 15:30:11 426

原创 javascript常用内置对象方法(Array篇)

数组Array对象静态方法Array.isArray()用途:返回值:一个布尔值(表示参数是否为数组)

2020-05-11 14:59:04 330

转载 vue笔记——$emit和$on用法

当我们在进行子组件向父组件传递参数的时候在父组件的子组件标签上定义了一个事件,并在子组件通过this.$emit触发了这个事件,这就是$emit和$on的使用。那么我们来详细的看看这两个方法的使用吧。vm.$on( event, callback ) 创建一个事件参数: {string | Array<string>} event (意思就是你定义的事件的名称) {...

2020-05-06 10:17:26 610

原创 浏览器兼容性笔记

浏览器兼容性首先可以在caniuse.com中查询一些html,css,js兼容性情况HTML5兼容性PC端:可以引入html5shiv.js 来解决一些html5标签在IE6/7/8中不能兼容的情况移动端:可以放心使用HTML5的标签javascript兼容性//比如requestAnimationFrame的兼容性处理var requestAnimationFrame = win...

2020-05-05 17:13:22 149

原创 移动端屏幕适配问题

简单适配样式// 原理:1rem = viewWidth / 系数//两种获取viewWidth的方法document.documentElement.getBoundingClientRect().widthwindow.innerWidth//封装(function(){ 'use strict'; setRemUnit(); window.addEventListener(...

2020-05-05 15:40:13 232

原创 css笔记——媒体查询(media query)

什么是媒体查询媒体查询是CSS代码的容器,其中的css只在某些条件(比如,当前页面要被打印或者显示在某种类型或尺寸的屏幕上)才会应用。也就是让css可以在不同的屏幕中显示不同的样式常用媒体类型all(default)screen / print / speech媒体查询的逻辑与(and)@media screen and (min-width:900px) and (max-wi...

2020-05-05 11:28:08 398

原创 axios在vue中的使用笔记

什么是AxiosAxios 是一个基于promise的http库特性支持promise API拦截请求和相应转换请求数据和相应数据取消请求自动转换JSON数据客户端支持防御XSRF攻击兼容性:主流浏览器都兼容,IE支持8以上常用请求方法get,post,put,patch,deleteget:获取数据axios.get('/data.json').then((res)...

2020-05-05 09:53:52 378

原创 关于vue中使用axios的情况下express-session实现登陆验证

node服务端://1.先安装express 和 express-session(自行安装)//2在app.js(你需要运行的node文件)中导入const express = require('express')const session = require('express-session')const app = express()//3服务端设置允许跨域cors的中间件app...

2020-05-04 17:14:28 688

原创 vue笔记——vuex

什么是VuexVuex是一个专门为vue.js应用程序开的状态管理模式它采用集中式存储管理应用的所有组件的状态并以相应的规则保证以一种可预测的方式发生变化应用场景1.多个视图依赖于同一状态2.来自不同视图的行为需要改变同一状态Vuex组成State —— 数据仓库Getter —— 用来包装数据(不修改原值)Mutation —— 用来修改数据只能通过mutation变更st...

2020-05-04 16:41:36 134

原创 vue笔记——vue实例的生命周期详解

什么是生命周期生命周期:从vue实例创建、运行、到销毁期间,总是伴随着各种各样的事件,这些事件统称为生命周期主要的生命周期函数分类:创建期间的生命周期函数:beforeCreate:实例刚在内存中被创建出来,此时还没有初始化好data和methods属性created: 实例已经在内存中创建好了,此时data和methods已经创建ok,还没有开始编译模板beforeMount:此时已...

2020-05-04 13:32:24 194 1

原创 vue父子组件通信实现过程

父组件->子组件 <!-- 将父组件中的number传入子组件中 --> <div id="app"> <child-a :a='number'></child-a> </div> <script> Vue.component('child-a', { template:`<p&...

2020-05-04 12:32:56 193

原创 ajax小结

什么是ajaxajax = 异步 JavaScript 和 XML。是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术(不刷新加载数据,提升用户体验)步骤创建一个XMLHttpRequest实例(该对象用于与后台服务器进行通信)初始化一个请求(open)发送请求(send)监听状态接收服务器响应数据(onreadystatechange)//创建一个XMLHttpR...

2020-04-15 12:13:06 82

空空如也

空空如也

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

TA关注的人

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