随笔分类 - ES6
摘要:ES6为Array增加了find(),findIndex函数。 find()函数用来查找目标元素,找到就返回该元素,找不到返回undefined。 findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。 他们的都是一个查找回调函数。 [1, 2, 3, 4].find(
阅读全文
摘要:注意: 1、Object.assign() 只是一级属性复制,比浅拷贝多深拷贝了一层而已。用的时候,还是要注意这个问题的。 2、简单实现深拷贝的方法,当然,有一定限制,如下:JSON.parse(JSON.stringify());思路就是将一个对象转成json字符串,然后又将字符串转回对象。 Ob
阅读全文
摘要:概述 switch语句对一个表达式求值,将结果与 case 子语句比较,如果匹配,则从 case 处的语句向下执行。 语法 break;语句是可选择的,如果遇到break;则会跳出整个switch语句。如果没有任何case匹配,则进入到default:的分支。default:分支也是可选的。 swi
阅读全文
摘要:注意: 常见的方法:开发环境阶段 在package.json添加proxy字段进行配置,该配置方案仅用于开发环境 生产环境一般需要后端工程师进行配置,如果需要前端进行配置,需要最后在工程化项目打包运行时进行配置 本质:
阅读全文
摘要:介绍一下一个函数式编程里面非常重要的概念 —— 纯函数(Pure Function)。 简单来说,一个函数的返回结果只依赖于它的参数,并且在执行过程里面没有副作用,我们就把这个函数叫做纯函数。这么说肯定比较抽象,我们把它掰开来看: 函数的返回结果只依赖于它的参数。 函数执行过程里面没有副作用。 函数
阅读全文
摘要:纯函数是函数式编程的基础,需要重点理解。纯函数的作用,可以看《JavaScript函数式编程之为什么要函数式编程(非严谨技术层面的扯淡)》。 纯函数的概念: 纯函数是这样一种函数,即相同的输入,永远会得到相同的输出,而且没有任何可观察的副作用。 他的重点在于“相同的输入,永远会得到相同的输出”,后面
阅读全文
摘要:如果箭头函数的代码块部分多于一条语句,就要使用大括号将它们括起来,并且使用return语句返回。 var sum = (num1, num2) => { return num1 + num2; } 箭头函数返回对象,由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号。
阅读全文
摘要:前言 JavaScript 发展至今已经发展出多种数组的循环遍历的方法,不同的遍历方法运行起来那个比较快,不同循环方法使用在那些场景,下面将进行比较: 各种数组遍历的方法 for 语句 代码: var arr = [1,2,4,6] for(var i = 0, len = arr.length;
阅读全文
摘要:先来个简单案例: <button id="btn">点击</button> <script type="text/javascript"> var btn = document.querySelector('#btn') btn.addEventListener('click',function()
阅读全文
摘要:跨域解决方案可以分为开发模式和生产模式 git查看脚手架工具,如下所示 然后进入docusaurus文档,文档里有关于跨域的相关配置 如下所示进行配置 (1)第一种方案 配置后重新测试 (2)第二种跨域方案 先利用express框架搭建简单后台服务 接下来创建路由文件 接下来启动后台服务,做下测试。
阅读全文
摘要:新建http.js文件用来封装get和post请求 1、封装get请求 2、封装post请求 3、测试 首先在其他组件引入,注意:分析 引入类和方法的区别: React等类直接写即可 方法需要在外面用{}包围 封装之前写法 封装完成后调用httpPost写法,这里data为对象格式即可 get方法与
阅读全文
摘要:本节介绍下React下fetch的post请求 (1)编写服务端代码 /*加载express模块*/ var express = require('express') /*加载path路径处理核心模块*/ var path = require('path') /*加载body-parser中间件*/
阅读全文
摘要:Ajax 是什么? 答:Ajax是一种可以在浏览器和服务器之间使用异步数据传输(HTTP请求)的技术。使用它可以让页面请求少量的数据,而不用刷新整个页面。而传统的页面(不使用Ajax)要刷新部分内容,必须重载整个网页页面。 Ajax 基于什么? 答:它基于的是XMLHttpRequest(XHR)。
阅读全文
摘要:前言: Async/Await应该是目前最简单的异步方案了,ES7 中新增了 async/await 两个关键词async顾名思义是“异步”的意思,用于声明一个函数是异步的。而await从字面意思上是“等待”的意思,就是用于等待异步完成。 主体: (1)同步操作 结果为1、3、2,这便是同步状态下的
阅读全文
摘要:本文介绍下React下fetch的get使用步骤 参考文章网络请求之fetch (1)编写基础组件模板 根组件引入 (2)json-server搭建模拟后台服务 编写模拟数据 自定义端口启动 测试如下 (3)结合生命周期componentDidMount进行fetch网络请求操作 注意:fetch后
阅读全文
摘要:(1)Promise含义 简介: Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通
阅读全文
摘要:前言: 类相当于实例的原型, 所有在类中定义的方法, 都会被实例继承。 主体: 如果在一个方法前, 加上static关键字, 就表示该方法不会被实例继承, 而是直接通过类来调用, 这就称为“ 静态方法”。 但是注意父类的静态方法,也会被子类继承 注意:当用实例调用时会报错 TypeError: da
阅读全文
摘要:(1)简介 Class 可以通过extends关键字实现继承,这比 ES5 的通过修改原型链实现继承,要清晰和方便很多。 上面代码定义了一个Child类,该类通过extends关键字,继承了Parent类的所有属性和方法。但是由于没有部署任何代码,所以这两个类完全一样,等于复制了一个Parent类。
阅读全文
摘要:静态方法是可以直接用类名.方法名去调用的,而实例方法是不可以的,他必须要用实例才可以去调用。 var Person=function(){}; Person.say=function(){ console.log('I am a Person,I can say.') }; Person.proto
阅读全文
摘要:(1)类的由来 JavaScript 语言中,生成实例对象的传统方法是通过构造函数。 对比如下: 分析: 上面代码里,定义了一个“类”,可以看到里面有一个constructor方法,这就是构造方法,而this关键字则代表实例对象。 也就是说,ES5 的构造函数Dog,对应 ES6 的Person类的
阅读全文