复习ES6(七):对象的扩展
属性的简洁表示S6 允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁 123456const foo = 'bar';const baz = {foo};baz // {foo: "bar"}// 等同于const baz = {foo: foo}; 12345678910111213const o = { method() { return "Hello!"; }};// 等同于const o = { method: function() { return "Hello!"; }}; 简写的对象方法不能用作构造函数,会报错 属性名表达式12345// 方法一obj.foo = true;// 方法二obj['a' + 'bc'] = 123; 表达式还可以用于定义方法名 1 ...
【6月】每日打卡
【6 月计划】 看完一本书《杀死一只知更鸟》 啃 vue 源码,逐行理解 坚持每天锻炼 早睡 早上有空时间看 js 部分 【6 月】总结 来深圳的第三个月也已经过完了呀,来到这里有了哪些收获呢? 熟悉了工作业务,后台对接 axios 的封装等 使用 jsplumb/codemirror 等新接触的库 elementui 的熟练使用,包括样式修改 v-deep,添加父级 一些后台的相关知识了解 k8s,doctor,jenkins,yaml 从 0 开始搭建项目,到业务逻辑的实现 … 计划完成度:看书未完额;看源码 1/3 未完额;其它完成 下月计划: 把这本书看完; 把《你不知道的 javascript》看的差不多 源码再来亿遍… 在公司有空看算法题目 06.30 今天回来干嘛了呢,两道手写题,找了本《你不知道的 javascript》看看,先在板子上看,在 3lib.net 下载 pdf 不花钱呀,还都是正版书,赞一个 1234567891011121314151617181920212223242526272829 ...
复习ES6(六):数组的扩展
扩展运算符扩展运算符(spread)是三个点(…)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列 12console.log(...[1, 2, 3])// 1 2 3 该运算符主要用于函数调用 扩展运算符后面还可以放置表达式 如果扩展运算符后面是一个空数组,则不产生任何效果。 只有函数调用时,扩展运算符才可以放在圆括号中,否则会报错 替代函数的apply方法12345678// ES5 的写法Math.max.apply(null, [14, 3, 77])// ES6 的写法Math.max(...[14, 3, 77])// 等同于Math.max(14, 3, 77); 123456789// ES5的 写法var arr1 = [0, 1, 2];var arr2 = [3, 4, 5];Array.prototype.push.apply(arr1, arr2);// ES6 的写法let arr1 = [0, 1, 2];let arr2 = [3, 4, 5];arr1.push(...arr2); push可以多条值,使用…扩展运算符 复制 ...
复习ES6(五):函数的扩展
函数参数的默认值ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面 参数变量是默认声明的,所以不能用let或const再次声明 使用参数默认值时,函数不能有同名参数 与解构赋值默认值结合使用下面两种写法的区别: 123456789// 写法一function m1({x = 0, y = 0} = {}) { return [x, y];}// 写法二function m2({x, y} = { x: 0, y: 0 }) { return [x, y];} 第一种是给了解构赋值的默认值,并给参数一个默认空值;第二种是给了参数的默认值,没有给解构赋值的默认值 123456789101112131415161718// 函数没有参数的情况m1() // [0, 0]m2() // [0, 0]// x 和 y 都有值的情况m1({x: 3, y: 8}) // [3, 8]m2({x: 3, y: 8}) // ...
复习ES6(二):变量的解构
数组解构 对象解构 对象解构的机制 对象解构的嵌套 对象解构的继承 字符串的解构 函数参数的解构 解构的用途* 交换变量 函数多个返回值 函数参数的定义 提取 json 数据 函数参数默认值 遍历 map 结构 输入模块的指定方法 1let [a, b, c] = [1, 2, 3]; 只要某种数据结构具有 Iterator 接口,都可以采用数组形式的解构赋值。 ES6 内部使用严格相等运算符,判断一个位置是否有值。所以,只有当一个数组成员严格等于 undefined,默认值才会生效。 123let { foo, bar } = { foo: 'aaa', bar: 'bbb' };foo; // "aaa"bar; // "bbb" 对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。 123let { foo: baz } = { ...
dolphinscheduler的状态显示
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889// dag.vue// 初始化 init (args) { // 判断是否存在tasks if (this.tasks.length) { // 回填数据 Dag.backfill(args) // 判断是实例则显示节点状态 if (this.type === 'instance') { this._getTaskState(false).then(res => {}) // 轮询状态 90s查询一次 this.setInterv ...
复习ES6(一):let/const
let/const var 和 let 的不同* for 循环的特别之处* let/const 不存在变量提升 let 的暂时性死区* 隐蔽的死区* let/const 不允许重复声明 let/const 块级作用域 块级作用域与函数声明* const 的不得改动* 顶层对象* 1234567var a = [];for (var i = 0; i < 10; i++) { a[i] = function () { console.log(i); };}a[6](); // 10 使用 var 声明时,i 被声明为全局变量,全局只有一个 i,因此循环完毕时全局变量 i 已经变为 10,此时再调用函数体时,i 已经变为 10。 1234567var a = [];for (let i = 0; i < 10; i++) { a[i] = function () { console.log(i); };}a[6](); // 6 而使用 let,let 中的 i 只在 ...
复习ES6(四):数值的扩展
二进制与八进制表示法ES6 提供了二进制和八进制数值的新的写法,分别用前缀 0b(或 0B)和 0o(或 0O)表示 120b111110111 === 503; // true0o767 === 503; // true Number.isFinite()/Number.isNaN()Number.isFinite()用来检查一个数值是否为有限的(finite),即不是 Infinity. 如果参数类型不是数值,Number.isFinite 一律返回 false 123456Number.isFinite(15); // trueNumber.isFinite(0.8); // trueNumber.isFinite(Infinity); // falseNumber.isFinite(-Infinity); // falseNumber.isFinite('foo'); // falseNumber.isFinite('15'); // false Number.isNaN()用来检查一个值是否为 NaN 它们与传统的全局方法 isFi ...
复习ES6(三):字符串的扩展
字符串的 unicode 表示法 字符串的遍历 字符串的分隔符 模板字符串 模板编译(暂跳过) 标签模板(暂跳过) 字符串的新增方法 String.fromCodePoint() unicode 码返回对应字符 String.raw() 还原原生 string 对象 str.codePointAt() 返回字符串的 unicode 码 uni.normalize() unicode 正规化,识别欧洲语言 str.includes()/str.startsWith()/str.endsWith() 字符串是否包含 str.repeat(n) 将字符串重复 n 次 str.padStart()/str.padEnd() 字符串补全 str.trimStart()/str.trimEnd() 消除首/尾空格 str.matchAll() 返回正则在当前字符的所有匹配 str.replaceAll() 一次替换所有匹配 ES6 加强了对 Unicode 的支持,允许采用\uxxxx 形式表示一个字符,其中 xxxx 表示字符的 Unicode 码点 12'\u0061 ...
vue-cli3中使用bootstrap
1. 引入 bootstrapbootsrap 依赖 jquery,使用 bootsrap 先引入 jquery,(不用引入 popper.js) 1yarn add bootstrap@3 jquery 2. 在 main.js 中引入12345678import 'bootstrap';// 引入bootstrap样式import 'bootstrap/dist/css/bootstrap.min.css';import 'bootstrap/dist/js/bootstrap.min.js';// 全局注册 $Vue.prototype.$ = $; 直接在实例中引入(这里只使用 tooltip 提示部分) 1234567891011121314methods: { initApp () { // 避免命名冲突 const bootstrapTooltip = $.fn.tooltip.noConflict() $.fn.tooltip = bootstrapTooltip ...