【Web前端技术】
赵迪Eddie
前端小攻略
展开
-
动态单据控件配置说明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 · 1186 阅读 · 0 评论 -
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 · 350 阅读 · 0 评论 -
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 · 233 阅读 · 0 评论 -
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 · 115 阅读 · 0 评论 -
ES6语法总结(12)--Symbol
Symbol概述作为属性名的 Symbol实例:消除魔术字符串属性名的遍历Symbol.for(),Symbol.keyFor()实例:模块的 Singleton 模式内置的 Symbol 值1.概述ES5 的对象属性名都是字符串,这容易造成属性名的冲突。比如,你使用了一个他人提供的对象,但又想为这个对象添加新的方法(mixin 模式),新方法的名字就有可能与现有方法产生冲...原创 2019-02-27 13:57:53 · 378 阅读 · 0 评论 -
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 · 283 阅读 · 0 评论 -
ES6语法总结(15)--Proxy
Proxy概述Proxy 实例的方法Proxy.revocable()this 问题实例:Web 服务的客户端1.概述Proxy 用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种...原创 2019-03-05 19:20:40 · 300 阅读 · 0 评论 -
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 · 203 阅读 · 0 评论 -
ES6语法总结(13)--Set数据结构
Set 和 Map 数据结构SetWeakSet1.Set基本用法ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成 Set 数据结构。const s = new Set();[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));for (let i of ...原创 2019-03-01 21:39:38 · 165 阅读 · 0 评论 -
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 · 163 阅读 · 0 评论 -
ES6语法总结(16)--Reflect
Reflect概述静态方法实例:使用 Proxy 实现观察者模式1.概述Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API。Reflect对象的设计目的有这样几个。(1) 将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上。现阶段,某些方法同时在Object和Reflect对...原创 2019-03-07 21:30:25 · 125 阅读 · 0 评论 -
ES6语法总结(28)--读懂ECMAScript 规格
读懂 ECMAScript 规格概述术语抽象操作的标准流程相等运算符数组的空位数组的 map 方法1.概述规格文件是计算机语言的官方标准,详细描述语法规则和实现方法。一般来说,没有必要阅读规格,除非你要写编译器。因为规格写得非常抽象和精炼,又缺乏实例,不容易理解,而且对于解决实际的应用问题,帮助不大。但是,如果你遇到疑难的语法问题,实在找不到答案,这时可以去查看规格文件,了...原创 2019-05-27 14:45:36 · 312 阅读 · 0 评论 -
ES6语法总结(26)--Module的加载实现
Module 的加载实现浏览器加载ES6 模块与 CommonJS 模块的差异Node 加载循环加载ES6 模块的转码上一章介绍了模块的语法,本章介绍如何在浏览器和 Node 之中加载 ES6 模块,以及实际开发中经常遇到的一些问题(比如循环加载)。1.浏览器加载传统方法HTML 网页中,浏览器通过<script>标签加载 JavaScript 脚本。<...原创 2019-05-09 21:06:35 · 204 阅读 · 0 评论 -
ES6语法总结(27)--编程风格
编程风格块级作用域字符串解构赋值对象数组函数Map 结构Class模块ESLint 的使用本章探讨如何将 ES6 的新语法,运用到编码实践之中,与传统的 JavaScript 语法结合在一起,写出合理的、易于阅读和维护的代码。多家公司和组织已经公开了它们的风格规范,下面的内容主要参考了 Airbnb 公司的 JavaScript 风格规范。1.块级作用域(1)le...原创 2019-05-13 19:00:06 · 232 阅读 · 0 评论 -
ES6语法总结(25)--Module的语法
Module 的语法概述严格模式export 命令import 命令模块的整体加载export default 命令export 与 import 的复合写法模块的继承跨模块常量import()1.概述历史上,JavaScript 一直没有模块(module)体系,无法将一个大程序拆分成互相依赖的小文件,再用简单的方法拼装起来。其他语言都有这项功能,比如 Ruby 的...原创 2019-05-08 21:07:57 · 368 阅读 · 0 评论 -
ES6语法总结(22)--async函数
async 函数含义基本用法语法async 函数的实现原理与其他异步处理方法的比较实例:按顺序完成异步操作异步遍历器1.含义ES2017 标准引入了 async 函数,使得异步操作变得更加方便。async 函数是什么?一句话,它就是 Generator 函数的语法糖。前文有一个 Generator 函数,依次读取两个文件。const fs = require('fs'...原创 2019-04-24 21:58:24 · 331 阅读 · 0 评论 -
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 · 185 阅读 · 0 评论 -
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 · 334 阅读 · 0 评论 -
ES6语法总结(21)--Generator函数的异步应用
Generator 函数的异步应用传统方法基本概念Generator 函数Thunk 函数co 模块异步编程对 JavaScript 语言太重要。JavaScript 语言的执行环境是“单线程”的,如果没有异步编程,根本没法用,非卡死不可。本章主要介绍 Generator 函数如何完成异步操作。1.传统方法ES6 诞生以前,异步编程的方法,大概有下面四种。回调函数事件监...原创 2019-04-20 20:31:57 · 217 阅读 · 0 评论 -
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 · 159 阅读 · 0 评论 -
ES6语法总结(2)--变量的解构赋值
变量的解构赋值数组的解构赋值对象的解构赋值字符串的解构赋值数值和布尔值的解构赋值函数参数的解构赋值圆括号问题用途1.数组的解构赋值基本用法ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。以前,为变量赋值,只能直接指定值。let a = 1;let b = 2;let c = 3;ES6 允许写成下面这...原创 2019-02-14 21:45:01 · 114 阅读 · 0 评论 -
Vuejs开发问题总结
原文链接:http://mrzhang123.github.io/2016/07/14/summarize-vue/最近一段时间忙着工作的一些事情,同时自己也在试着把项目中的一些移动端页面试着用vuejs重写,所以没时间写文章,今天终于有空可以写一下,由于页面并没有写完,所以就将自己这几天做页面的时候遇到的一些问题总结了一下。其实很多在官网都能找到,但是我们只看官网教程不去写,很难理解到底是什...翻译 2019-01-31 20:43:13 · 122 阅读 · 0 评论 -
Js学习心得和思考方法
当人们尝试学习 JavaScript , 或者其他编程技术的时候,常常会遇到同样的挑战:有些概念容易混淆,特别是当你学习过其他语言的时候。很难找到学习的时间(有时候是动力)。一旦当你理解了一些东西的时候,却很容易再一次忘记。可以使用的工具甚多且经常变化,所以不知道从哪里开始入手。幸运的是,这些挑战最终都可以被战胜。在这篇文章里,我将介绍 6 个思维技巧来帮你更快的学习...翻译 2019-01-31 20:31:52 · 2879 阅读 · 2 评论 -
this 指向总结
首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象(这句话有些问题,后面会解释为什么会有问题,虽然网上大部分的文章都是这样说的,虽然在很多情况下那样去理解不会出什么问题,但是实际上那样理解是不准确的,所以在你理解this的时候会有种琢磨不透的感觉),那么接下来我会深入的探讨这个问题。 为什...原创 2019-01-17 13:16:00 · 150 阅读 · 0 评论 -
Vue与React全面对比
Vue和React全面对比Vue.js与React.js从某些反面来说很相似,通过两个框架的学习,有时候对一些用法会有一点思考,为加深学习的思索,特翻阅了两个文档,从以下各方面进行了对比,加深了对这两个框架的认知。1.数据绑定1.1 Vue中有关数据绑定的部分vue是双向绑定, Vue.js 最核心的功能有两个,一是响应式的数据绑定系统,二是组件系统。所谓双向绑定,指的是vue实例中的...原创 2019-01-21 17:50:40 · 569 阅读 · 0 评论 -
JavaScript常见的错误类型
在 Web 应用程序的 JavaScript 这一端,错误处理策略也同样重要。由于任何 JavaScript 错误都可能导致网页无法使用,很多在开发过程中会忽略这个细节,因此搞清楚何时以及为什么发生错误至关重要。作为开发人员,必须要知道代码何时可能出错,会出什么错,同时还要有一个跟踪此类问题的系统。常见的错误类型 错误处理的核心,是首先要知道代码里会发生什么错误。由于 JavaScript ...原创 2019-01-25 14:49:26 · 199 阅读 · 0 评论 -
vue-cli(vue脚手架)详细教程
最近的项目使用Vue.js 结合iView UI 框架做了一个后台管理系统项目,整理部分知识和技术,作为分享和个人总结。Vue.js是对新手很友好的MVVM框架,有完善的官方中文文档,阅读起来也非常容易理解,由浅入深,示例完整。同时官方也提供了一个开箱即用的 vue-cli 帮我们生成一个完整的项目框架。vue.js 著名的全家桶系列, 包含了, vue-router, vuex, axio...原创 2019-01-23 22:14:46 · 322 阅读 · 0 评论 -
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 · 180 阅读 · 0 评论 -
JavaScript 知识点
JavaScript 知识点1、JS基础知识页面由三部分组成:html:超文本标记语言,负责页面结构css:层叠样式表,负责页面样式js:轻量级的脚本语言,负责页面的动效和数据交互小总结:结构,样式和行为,三者相分离在html页面中写结构通过 link标签的href属性,引入css样式通过script标签的src属性,引入js脚本(包括第三方Js库、插...原创 2019-02-04 11:45:49 · 581 阅读 · 0 评论 -
ES6语法总结(3)--字符串的扩展(1)
字符串的扩展字符的 Unicode 表示法codePointAt()String.fromCodePoint())字符串的遍历器接口normalize()includes(), startsWith(), endsWith()repeat()padStart(),padEnd()matchAll())ES6 加强了对 Unicode 的支持,并且扩展了字符串对象。1.字...原创 2019-02-15 21:34:50 · 158 阅读 · 0 评论 -
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 · 282 阅读 · 0 评论 -
ES6语法总结(10)--对象的扩展
对象的扩展属性的简洁表示法属性名表达式方法的 name 属性属性的可枚举性和遍历super 关键字对象的扩展运算符对象(object)是 JavaScript 最重要的数据结构。ES6 对它进行了重大升级,本章介绍数据结构本身的改变,下一章介绍Object对象的新增方法。1.属性的简洁表示法ES6 允许直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。cons...原创 2019-02-24 22:17:21 · 149 阅读 · 0 评论 -
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 · 451 阅读 · 1 评论 -
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 · 118 阅读 · 0 评论 -
ES6语法总结(9)--数组的扩展
数组的扩展扩展运算符Array.from()Array.of()数组实例的 copyWithin()数组实例的 find() 和 findIndex()数组实例的 fill()数组实例的 entries(),keys() 和 values()数组实例的 includes()数组实例的 flat(),flatMap()数组的空位1.扩展运算符含义扩展运算符(sprea...原创 2019-02-22 20:47:37 · 97 阅读 · 0 评论 -
ES6语法总结(4)--字符串的扩展(2)
字符串的扩展模板字符串实例:模板编译标签模板String.raw()模板字符串的限制1.模板字符串传统的 JavaScript 语言,输出模板通常是这样写的(下面使用了 jQuery 的方法)。$('#result').append( 'There are <b>' + basket.count + '</b> ' + 'i...原创 2019-02-17 14:09:17 · 104 阅读 · 0 评论 -
JavaScript回调函数
一、写在前面回调函数:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。在谈回调函数之前,先看下下面两段代码:不妨猜测一下代码的结果。function say (value) ...原创 2019-01-31 09:11:45 · 129 阅读 · 0 评论 -
ES6语法总结(8)--函数的扩展(2)
函数的扩展箭头函数双冒号运算符尾调用优化函数参数的尾逗号1.箭头函数基本用法ES6 允许使用“箭头”(=>)定义函数。var f = v => v;// 等同于var f = function (v) { return v;};如果箭头函数不需要参数或需要多个参数,就使用一个圆括号代表参数部分。var f = () => 5;// 等同于...原创 2019-02-21 21:31:47 · 227 阅读 · 0 评论