自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【数据结构与算法】LeetCode20--有效的括号

题目:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例 2:输入:s = "()[]{}"输出:true示例 3:输入:s = "(]"输出:false示例 4:输入:s = "([)]"输出:false示例 5:输入:s = "{[]}"输出:true提示:1 <=

2021-02-28 22:19:12 140 2

原创 【数据结构与算法】LeetCode155--最小栈

设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。示例:输入:["MinStack","push","push","push","getMin","pop","top","getMin"][[],[-2],[0],[-3],[],[],[],[]]输出:[null,null,null,null,-

2021-02-21 21:19:05 182 2

原创 动态单据控件配置说明5.0

动态单据配置说明版本v1.5.0日期2020-09-26一、创建元数据介绍1、元数据创建各业务文件配置命名建议业务名称 + bill + 表单页面例如资产调拨业务新建页面:transfer_bill_add详情页面:transfer_bill_show审批页面:transfer_bill_review元数据主要元素构成name 元数据查询标识description 描述信息type 类型 “gams2.bill.form” (固定

2020-10-10 10:18:35 356

原创 Vue前端开发规范及代码风格

Vue 开发规范目录及说明版本v1.0日期2020-02-18本文档为前端 vue 开发规范规范目的命名规范结构化规范注释规范编码规范CSS 规范规范目的为提高团队协作效率便于后台人员添加功能及前端后期优化维护输出高质量的代码及文档一、命名规范为了让大家书写可维护的代码,而不是一次性的代码让团队当中其他人看你的代码能一目了然普通变量命名...

2020-02-21 10:20:48 2064

原创 ES6语法总结(28)--读懂ECMAScript 规格

读懂 ECMAScript 规格概述术语抽象操作的标准流程相等运算符数组的空位数组的 map 方法1.概述规格文件是计算机语言的官方标准,详细描述语法规则和实现方法。一般来说,没有必要阅读规格,除非你要写编译器。因为规格写得非常抽象和精炼,又缺乏实例,不容易理解,而且对于解决实际的应用问题,帮助不大。但是,如果你遇到疑难的语法问题,实在找不到答案,这时可以去查看规格文件,了...

2019-05-27 14:45:36 269

原创 ES6语法总结(27)--编程风格

编程风格块级作用域字符串解构赋值对象数组函数Map 结构Class模块ESLint 的使用本章探讨如何将 ES6 的新语法,运用到编码实践之中,与传统的 JavaScript 语法结合在一起,写出合理的、易于阅读和维护的代码。多家公司和组织已经公开了它们的风格规范,下面的内容主要参考了 Airbnb 公司的 JavaScript 风格规范。1.块级作用域(1)le...

2019-05-13 19:00:06 170

原创 ES6语法总结(26)--Module的加载实现

Module 的加载实现浏览器加载ES6 模块与 CommonJS 模块的差异Node 加载循环加载ES6 模块的转码上一章介绍了模块的语法,本章介绍如何在浏览器和 Node 之中加载 ES6 模块,以及实际开发中经常遇到的一些问题(比如循环加载)。1.浏览器加载传统方法HTML 网页中,浏览器通过<script>标签加载 JavaScript 脚本。<...

2019-05-09 21:06:35 123

原创 ES6语法总结(25)--Module的语法

Module 的语法概述严格模式export 命令import 命令模块的整体加载export default 命令export 与 import 的复合写法模块的继承跨模块常量import()1.概述历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言都有这项功能,比如 Ruby 的...

2019-05-08 21:07:57 160

原创 ES6语法总结(24)--Class的继承

Class 的继承简介Object.getPrototypeOf()super 关键字类的 prototype 属性和__proto__属性原生构造函数的继承Mixin 模式的实现1.简介Class 可以通过extends关键字实现继承,这比 ES5 的通过修改原型链实现继承,要清晰和方便很多。class Point {}class ColorPoint extend...

2019-04-28 20:54:15 143

原创 ES6语法总结(23)--Class的基本语法

Class 的基本语法简介静态方法实例属性的新写法静态属性私有方法和私有属性new.target 属性1.简介类的由来JavaScript 语言中,生成实例对象的传统方法是通过构造函数。下面是一个例子。function Point(x, y) { this.x = x; this.y = y;}Point.prototype.toString = funct...

2019-04-28 20:53:23 296

原创 ES6语法总结(22)--async函数

async 函数含义基本用法语法async 函数的实现原理与其他异步处理方法的比较实例:按顺序完成异步操作异步遍历器1.含义ES2017 标准引入了 async 函数,使得异步操作变得更加方便。async 函数是什么?一句话,它就是 Generator 函数的语法糖。前文有一个 Generator 函数,依次读取两个文件。const fs = require('fs'...

2019-04-24 21:58:24 303

原创 ES6语法总结(21)--Generator函数的异步应用

Generator 函数的异步应用传统方法基本概念Generator 函数Thunk 函数co 模块异步编程对 JavaScript 语言太重要。JavaScript 语言的执行环境是“单线程”的,如果没有异步编程,根本没法用,非卡死不可。本章主要介绍 Generator 函数如何完成异步操作。1.传统方法ES6 诞生以前,异步编程的方法,大概有下面四种。回调函数事件监...

2019-04-20 20:31:57 121

原创 ES6语法总结(20)--Generator函数的语法(2)

Generator 函数的语法(2)next()、throw()、return() 的共同点yield* 表达式作为对象属性的 Generator 函数Generator 函数的this含义应用1.next()、throw()、return() 的共同点next()、throw()、return()这三个方法本质上是同一件事,可以放在一起理解。它们的作用都是让 Generat...

2019-03-14 20:28:43 213

原创 ES6语法总结(19)--Generator函数的语法(1)

Generator 函数的语法(1)简介next 方法的参数for…of 循环Generator.prototype.throw()Generator.prototype.return()1.简介基本概念Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。本章详细介绍 Generator 函数的语法和 API,它的异步编程应用请看《Ge...

2019-03-10 22:46:09 119

转载 ES6语法总结(18)--Iterator和for

Iterator 和 for…of 循环Iterator(遍历器)的概念默认 Iterator 接口调用 Iterator 接口的场合字符串的 Iterator 接口Iterator 接口与 Generator 函数遍历器对象的 return(),throw()for…of 循环1.Iterator(遍历器)的概念JavaScript 原有的表示“集合”的数据结构,主要是数...

2019-03-09 08:24:25 102

原创 ES6语法总结(17)--Promise 对象

Promise 对象Promise 的含义基本用法Promise.prototype.then()Promise.prototype.catch()Promise.prototype.finally()Promise.all()Promise.race()Promise.resolve()Promise.reject()应用Promise.try()1.Promise...

2019-03-09 08:01:37 108

原创 ES6语法总结(16)--Reflect

Reflect概述静态方法实例:使用 Proxy 实现观察者模式1.概述Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API。Reflect对象的设计目的有这样几个。(1) 将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上。现阶段,某些方法同时在Object和Reflect对...

2019-03-07 21:30:25 116

原创 ES6语法总结(15)--Proxy

Proxy概述Proxy 实例的方法Proxy.revocable()this 问题实例:Web 服务的客户端1.概述Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种...

2019-03-05 19:20:40 188

原创 ES6语法总结(14)--Map数据结构

Set 和 Map 数据结构MapWeakMap1.Map含义和基本用法JavaScript 的对象(Object),本质上是键值对的集合(Hash 结构),但是传统上只能用字符串当作键。这给它的使用带来了很大的限制。const data = {};const element = document.getElementById('myDiv');data[element] ...

2019-03-03 12:41:24 223

原创 ES6语法总结(13)--Set数据结构

Set 和 Map 数据结构SetWeakSet1.Set基本用法ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成 Set 数据结构。const s = new Set();[2, 3, 5, 4, 5, 2, 2].forEach(x =&gt; s.add(x));for (let i of ...

2019-03-01 21:39:38 105

原创 ES6语法总结(12)--Symbol

Symbol概述作为属性名的 Symbol实例:消除魔术字符串属性名的遍历Symbol.for(),Symbol.keyFor()实例:模块的 Singleton 模式内置的 Symbol 值1.概述ES5 的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲...

2019-02-27 13:57:53 225

原创 ES6语法总结(10)--对象的扩展

对象的扩展属性的简洁表示法属性名表达式方法的 name 属性属性的可枚举性和遍历super 关键字对象的扩展运算符对象(object)是 JavaScript 最重要的数据结构。ES6 对它进行了重大升级,本章介绍数据结构本身的改变,下一章介绍Object对象的新增方法。1.属性的简洁表示法ES6 允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。cons...

2019-02-24 22:17:21 144

原创 ES6语法总结(9)--数组的扩展

数组的扩展扩展运算符Array.from()Array.of()数组实例的 copyWithin()数组实例的 find() 和 findIndex()数组实例的 fill()数组实例的 entries(),keys() 和 values()数组实例的 includes()数组实例的 flat(),flatMap()数组的空位1.扩展运算符含义扩展运算符(sprea...

2019-02-22 20:47:37 92

原创 ES6语法总结(8)--函数的扩展(2)

函数的扩展箭头函数双冒号运算符尾调用优化函数参数的尾逗号1.箭头函数基本用法ES6 允许使用“箭头”(=&gt;)定义函数。var f = v =&gt; v;// 等同于var f = function (v) { return v;};如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分。var f = () =&gt; 5;// 等同于...

2019-02-21 21:31:47 180

原创 ES6语法总结(7)--函数的扩展(1)

函数的扩展函数参数的默认值rest 参数严格模式name 属性1.函数参数的默认值基本用法ES6 之前,不能直接为函数的参数指定默认值,只能采用变通的方法。function log(x, y) { y = y || 'World'; console.log(x, y);}log('Hello') // Hello Worldlog('Hello', 'Chin...

2019-02-20 21:22:57 104

原创 ES6语法总结(6)--数值的扩展

数值的扩展二进制和八进制表示法Number.isFinite(), Number.isNaN()Number.parseInt(), Number.parseFloat()Number.isInteger()Number.EPSILON安全整数和 Number.isSafeInteger()Math 对象的扩展指数运算符1.二进制和八进制表示法ES6 提供了二进制和八进制...

2019-02-19 19:59:04 97

原创 ES6语法总结(5)--正则的扩展

正则的扩展RegExp 构造函数字符串的正则方法u 修饰符RegExp.prototype.unicode 属性y 修饰符RegExp.prototype.sticky 属性RegExp.prototype.flags 属性s 修饰符:dotAll 模式后行断言Unicode 属性类具名组匹配String.prototype.matchAll1.RegExp 构造函...

2019-02-18 21:48:25 213 1

原创 ES6语法总结(4)--字符串的扩展(2)

字符串的扩展模板字符串实例:模板编译标签模板String.raw()模板字符串的限制1.模板字符串传统的 JavaScript 语言,输出模板通常是这样写的(下面使用了 jQuery 的方法)。$('#result').append( 'There are &lt;b&gt;' + basket.count + '&lt;/b&gt; ' + 'i...

2019-02-17 14:09:17 98

原创 ES6语法总结(3)--字符串的扩展(1)

字符串的扩展字符的 Unicode 表示法codePointAt()String.fromCodePoint())字符串的遍历器接口normalize()includes(), startsWith(), endsWith()repeat()padStart(),padEnd()matchAll())ES6 加强了对 Unicode 的支持,并且扩展了字符串对象。1.字...

2019-02-15 21:34:50 148

原创 ES6语法总结(2)--变量的解构赋值

变量的解构赋值数组的解构赋值对象的解构赋值字符串的解构赋值数值和布尔值的解构赋值函数参数的解构赋值圆括号问题用途1.数组的解构赋值基本用法ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。以前,为变量赋值,只能直接指定值。let a = 1;let b = 2;let c = 3;ES6 允许写成下面这...

2019-02-14 21:45:01 107

原创 ES6语法总结(1)--let 和 const 命令

let 和 const 命令let 命令块级作用域const 命令顶层对象的属性global 对象总结1.let 命令基本用法ES6 新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。{ let a = 10; var b = 1;}a // ReferenceError: a is not defin...

2019-02-14 08:53:17 186

原创 Typora入门(中文版)

Typora写Markdown文档很难?Typora让你像写word一样行云流水,所见即所得。简介Typora删除了预览窗口,以及所有其他不必要的干扰。取而代之的是实时预览。Markdown的语法因不同的解析器或编辑器而异,Typora使用的是GitHub Flavored Markdown。下载Typora下载。常用快捷键加粗: Ctrl/Cmd + B标题: Ctrl...

2019-02-12 17:58:04 15427

原创 CSS编码规范

CSS编码规范1 前言2 代码风格  2.1 文件  2.2 缩进  2.3 空格  2.4 行长度  2.5 选择器  2.6 属性3 通用  3.1 选择器  3.2 属性缩写  3.3 属性书写顺序  3.4 清除浮动  3.5 !important  3.6 z-index4 值与单位  4.1 文本  4.2 数值  4.3 url()  ...

2019-02-12 17:29:26 115

原创 JavaScript 知识点

JavaScript 知识点1、JS基础知识页面由三部分组成:html:超文本标记语言,负责页面结构css:层叠样式表,负责页面样式js:轻量级的脚本语言,负责页面的动效和数据交互小总结:结构,样式和行为,三者相分离在html页面中写结构通过 link标签的href属性,引入css样式通过script标签的src属性,引入js脚本(包括第三方Js库、插...

2019-02-04 11:45:49 556

原创 Js判断对象是否为空对象的几种方法

1.将json对象转化为json字符串,再判断该字符串是否为"{}"var data = {};var b = (JSON.stringify(data) == "{}");alert(b);//true2.for in 循环判断var obj = {}; var b = function() { for(var key in obj) { return false; }...

2019-02-04 11:32:49 155

原创 JavaScript Standard Style(代码风格)

JavaScript Standard Style翻译: Português, Spanish, 繁體中文, 简体中文standard 规则列表,太多不必阅读。了解 standard 的最好方式是安装它,然后写代码尝试。规则缩进使用两个空格。eslint: indentfunction hello (name) { console.log('hi', name)}字...

2019-02-04 08:53:37 605

原创 前端开发必须掌握的基本技能

新手必打基础HTML4\HTML5CSS2\CSS3ES5(原生 js 基本语法)JSON 数据结构网络请求、AJAX学会用google,百度,查工具书中级进阶必打基础ES6 语法糖同步、异步思维chrome devlop 控制台熟练调试模拟请求工具、抓包分析等vue、react、angular 熟悉scss、less 等css编译学会用google,百度...

2019-02-04 08:53:07 238

翻译 Vuejs开发问题总结

原文链接:http://mrzhang123.github.io/2016/07/14/summarize-vue/最近一段时间忙着工作的一些事情,同时自己也在试着把项目中的一些移动端页面试着用vuejs重写,所以没时间写文章,今天终于有空可以写一下,由于页面并没有写完,所以就将自己这几天做页面的时候遇到的一些问题总结了一下。其实很多在官网都能找到,但是我们只看官网教程不去写,很难理解到底是什...

2019-01-31 20:43:13 116

翻译 Js学习心得和思考方法

当人们尝试学习 JavaScript , 或者其他编程技术的时候,常常会遇到同样的挑战:有些概念容易混淆,特别是当你学习过其他语言的时候。很难找到学习的时间(有时候是动力)。一旦当你理解了一些东西的时候,却很容易再一次忘记。可以使用的工具甚多且经常变化,所以不知道从哪里开始入手。幸运的是,这些挑战最终都可以被战胜。在这篇文章里,我将介绍 6 个思维技巧来帮你更快的学习...

2019-01-31 20:31:52 2856 2

原创 JavaScript回调函数

一、写在前面回调函数:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。在谈回调函数之前,先看下下面两段代码:不妨猜测一下代码的结果。function say (value) ...

2019-01-31 09:11:45 121

空空如也

空空如也

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

TA关注的人

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