笔记
偷吃路人饼干
这个作者很懒,什么都没留下…
展开
-
js基础之手写apply、call、bind
不传入第一个参数,那么上下文默认为 window改变了 this 指向,让新的对象可以执行该函数,并能接受参数实现call首先 context为可选参数,如果不传的话默认上下文为 window接下来给 context 创建一个 fn 属性,并将值设置为需要调用的函数因为 call 可以传入多个参数作为调用函数的参数,所以需要将参数剥离出来然后调用函数并将对象上的函数删除Function.prototype.myCall = function(context) {//判断传入的contex原创 2020-05-13 10:37:53 · 295 阅读 · 0 评论 -
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 · 169 阅读 · 0 评论 -
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 · 398 阅读 · 1 评论 -
ES6知识点——symbol
概述ES5 的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他 人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就 有可能与现有方法产生冲突。如果有一种机制,保证每个属性的名字都是独一无二 的就好了,这样就从根本上防止属性名的冲突。这就是 ES6 引入 Symbol 的原 因。ES6 引入了一种新的原始数据类型 Symbol ,表示独一无二的值。let s = Symbol(); typeof s // "symbol"上面代码中,变量 s 就是一个原创 2020-05-12 08:51:55 · 188 阅读 · 0 评论 -
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 · 140 阅读 · 0 评论 -
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 · 2039 阅读 · 0 评论 -
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 · 470 阅读 · 0 评论 -
javascript常用内置对象方法(Array篇)
数组Array对象静态方法Array.isArray()用途:返回值:一个布尔值(表示参数是否为数组)原创 2020-05-11 14:59:04 · 370 阅读 · 0 评论 -
vue笔记——$emit和$on用法
当我们在进行子组件向父组件传递参数的时候在父组件的子组件标签上定义了一个事件,并在子组件通过this.$emit触发了这个事件,这就是$emit和$on的使用。那么我们来详细的看看这两个方法的使用吧。vm.$on( event, callback ) 创建一个事件参数: {string | Array<string>} event (意思就是你定义的事件的名称) {...转载 2020-05-06 10:17:26 · 645 阅读 · 0 评论 -
浏览器兼容性笔记
浏览器兼容性首先可以在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 · 181 阅读 · 0 评论 -
移动端屏幕适配问题
简单适配样式// 原理:1rem = viewWidth / 系数//两种获取viewWidth的方法document.documentElement.getBoundingClientRect().widthwindow.innerWidth//封装(function(){ 'use strict'; setRemUnit(); window.addEventListener(...原创 2020-05-05 15:40:13 · 246 阅读 · 0 评论 -
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 · 417 阅读 · 0 评论 -
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 · 417 阅读 · 0 评论 -
关于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 · 725 阅读 · 0 评论 -
vue笔记——vuex
什么是VuexVuex是一个专门为vue.js应用程序开的状态管理模式它采用集中式存储管理应用的所有组件的状态并以相应的规则保证以一种可预测的方式发生变化应用场景1.多个视图依赖于同一状态2.来自不同视图的行为需要改变同一状态Vuex组成State —— 数据仓库Getter —— 用来包装数据(不修改原值)Mutation —— 用来修改数据只能通过mutation变更st...原创 2020-05-04 16:41:36 · 146 阅读 · 0 评论 -
vue笔记——vue实例的生命周期详解
什么是生命周期生命周期:从vue实例创建、运行、到销毁期间,总是伴随着各种各样的事件,这些事件统称为生命周期主要的生命周期函数分类:创建期间的生命周期函数:beforeCreate:实例刚在内存中被创建出来,此时还没有初始化好data和methods属性created: 实例已经在内存中创建好了,此时data和methods已经创建ok,还没有开始编译模板beforeMount:此时已...原创 2020-05-04 13:32:24 · 223 阅读 · 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 · 218 阅读 · 0 评论