08 2019 档案
摘要:报错: module.exports增加配置stats: { children: false }即可解决;
阅读全文
摘要:webpack resolve:resolve 配置是帮助 webpack 查找依赖模块resolve.alias 是最常用的配置,通过设置 alias 可以帮助 webpack 更快查找模块依赖,而且也能使我们编写代码更加方便。module:在 webpack 解析模块的同时,不同的模块需要使用不
阅读全文
摘要:fs.mkdir(path[, mode], callback) 要求父目录必须存在 let fs = require('fs'); fs.mkdir('./c/b/a', res=>{ // console.log(res); }) let fs = require('fs'); fs.mkdir
阅读全文
摘要:demo 输出: 你你,们,你们 先得出 我们要分隔的字符串 的长度 Buffer.from(seq).length 我们要返回的是一个数组 所以先声明数组为空 let arr=[]; return arr.toString(); 开始分割时长度为 0 let index= 0; //开始的长度 i
阅读全文
摘要:每个对象 都有 一个 .__proto__ 指向 所属类的原型 ,每个原型都会 有 一个 constructor 指向所属类 animal 的 .__proto__ 指向了 Animal 的 原型 每个原型都会 有 一个 constructor 指向所属类 实例的__proto__ 指向函数 的原型
阅读全文
摘要:Proxy 对象用于定义基本操作的自定义行为(如属性查找,赋值,枚举,函数调用等) get(target, propKey, receiver):拦截对象属性的读取,比如proxy.foo和proxy['foo']。 set(target, propKey, value, receiver):拦截对
阅读全文
摘要:封装的组件 组件引入 使用组件 数据: 子组件传递给父组件的方法的实现 效果:
阅读全文
摘要:可使用 组件 <el-scrollbar></el-scrollbar> 设置 组件的样式 为 高度100%
阅读全文
摘要:1.先进行 类型判断 2. 判断是 数组还是 对象 demo 输出 : {} [] 3. 遍历数组或者数组 利用 for ..... in 4. 进行拷贝 for (const key in obj) { if (obj.hasOwnProperty(key)) { instance[key] =d
阅读全文
摘要:合集 先声明两个数组 创建一个函数 调用这个函数 合集首先里面的数组是没有 重复的 我们先将 各自的数组去重 将去重后的数组合并 这个时候我们得到的数组里面 可能有重复的 比如 arr1 去重后得到 [1,2,3,4,5,7], arr2 去重后 的数组为 [2,3,6] 合并数组得到 [1,2,3
阅读全文
摘要:重复定义会报错 输出: Uncaught SyntaxError: Identifier 'a' has already been declared 嵌套循环不会相互影响 结果 out 0 in 0 in 1 out 1 in 0 in 1 out 2 in 0 in 1 实现块级作用域 不存在变量
阅读全文
摘要:var没有块级作用域,定义后在当前闭包中都可以访问,如果变量名重复,就会覆盖前面定义的变量,并且也有可能被其他人更改。 变量名重复,就会覆盖前面定义的变量,并且也有可能被其他人更改: 输出 : 2 定义后在当前闭包中都可以访问 输出: a var在for循环标记变量共享,一般在循环中使用的i会被共享
阅读全文
摘要:1,任何类型的值都可以赋给 unkown类型 2. 如果没有类型断言或基于控制流的类型细化时 unknown 不可以赋值给其它类型,此时它只能赋值给 unknown 和 any 类型 3. 如果没有类型断言或基于控制流的类型细化,则不能在它上面进行任何操作 4.unknown 与任何其它类型组成的交
阅读全文
摘要:generator 的使用 第一次调用next 时 传参没有任何意义 打印不出来任何结果 输出: [Done] exited with code=0 in 0.405 seconds 接下来 调用 next 时 会按照顺序打印出来 function * read(){ let a = yield 1
阅读全文
摘要:从这里我们可以看出 数组的迭代方法里面有一个 属性 [Symbol.iterator] 返回一个 函数 所以我们先定义 初始方法 [Symbol.iterator] 是一个函数 函数里面有一个next方法 next 方法里面 是一个对象 对象有两个key ,一个是done ,一个是value 当 i
阅读全文
摘要:generator 返回一个生成器,生成器里面有next 方法,调用这个方法会返回一个对象 {done:是否迭代完成 value 结果} function * read() { yield 1; yield 2; yield 3; return 100; } let Iter = read(); c
阅读全文
摘要:1. 索引类型查询操作符 keyof ,通过keyof我们能够获取一个类型的所有属性名组成的联合类型 keyof操作符,连接一个类型,会返回一个由这个类型的所有属性名组成的联合类型 这里的keyof Info其实相当于"name" | “age” 2.索引访问操作符也就是[],其实和我们访问对象的某
阅读全文
摘要:// race的原理 Promise.race = function(values){ return new Promise((resolve,reject)=>{ for(let i = 0 ; i< values.length;i++){ let current = values[i]; if((typeof current 'object' && current !==null)|| typ
阅读全文
摘要:// all的原理 Promise.all = function(values){ return new Promise((resolve,reject)=>{ let results = []; // 结果数组 let i = 0; let processData = (value,index)=>{ result...
阅读全文
摘要:我们可以把单例类型、联合类型、类型保护和类型别名这几种类型进行合并,来创建一个叫做可辨识联合的高级类型,它也可称作标签联合或代数数据类型。 可辨识联合要求具有两个要素: 可辨识联合要求具有两个要素: 具有普通的单例类型属性(这个要作为辨识的特征,也是重要因素)。 一个类型别名,包含了那些类型的联合(
阅读全文
摘要:1 自定义类型保护 首先定义一个函数,函数的参数 value 就是要判断的值,在这个例子中 value 的类型可以为 number 或 string,函数的返回值类型是一个结构为 value is type 的类型谓语,value 的命名无所谓,但是谓语中的 value 名必须和参数名一致。 2 .
阅读全文
摘要:输出: 父亲说:孩子bad 母亲说:孩子bad 先声明两个类 观察者类 和 被观察者类 新建构造函数 初始化 数据 观察者要提供一个数组 存放被观察者 在观察者中 声明 两个 方法 attach 方法是将 观察者push 到数组中 seTStatus 方法 是修改 状态 更新状态 观察者方法 通知状
阅读全文
摘要:let fs = require('fs'); // “发布“ -> 中间代理 <- “订阅“ //先声明一个函数 function Events(){ this.callbacks = []; this.results = []; } //在 Events 的上新建一个 订阅函数 传递一个参数 参数也是一个函数 Events.prototype.on = function(callback){
阅读全文
摘要:在原来的函数中加上自己的代码 扩展原有的方法 //先声明一个函数 function say (person) { console.log(person +'说情人节快乐') } //在函数的内部声明一个函数,传递的参数是一个函数 返回值是一个函数 所以这个是高阶函数 Function.prototy
阅读全文
摘要:高阶函数 指代 参数可以是一个函数,函数中返回函数 getcallBack(back) { return Back(); } demo // 判断类型 Object.prototype.toString.call(); function isType(type){ // type == 'boole
阅读全文
摘要:函数 1.函数参数个数 左边的个数大于右边 如果对函数 y 进行赋值,那么要求 x 中的每个参数都应在 y 中有对应,也就是 x 的参数个数小于等于 y 的参数个数 2.函数参数类型 3.剩余参数和可选参数 4.函数参数双向协变 函数参数双向协变即参数类型无需绝对相同 他们的联合类型相同即可 5.函
阅读全文
摘要:1.基本的类型推论 2.当我们定义一个数组或元组这种包含多个元素的值的时候,多个元素可以有不同的类型,这种时候 TypeScript 会将多个类型合并起来,组成一个联合类型 此时的 arr 的元素被推断为string | number,也就是元素可以是 string 类型也可以是 number 类型
阅读全文
摘要:TS 中的公共、私有和受保护的修饰符: 1.public表示公共的,用来指定在创建实例后可以通过实例访问的,也就是类定义的外部可以访问的属性和方法。默认是 public 2.private修饰符表示私有的,它修饰的属性在类的定义外面是没法访问的: 3.rotected修饰符是受保护修饰符,和priv
阅读全文
摘要:http://note.youdao.com/noteshare?id=31c7100d0d5213cddcc7565219131099
阅读全文
摘要:数字枚举在定义值的时候,可以使用计算值和常量。但是要注意,如果某个字段使用了计算值或常量,那么该字段后面紧接着的字段必须设置初始值,这里不能使用默认的递增值了 反向映射 我们定义一个枚举值的时候,可以通过 Enum[‘key’]或者 Enum.key 的形式获取到对应的值 value。TypeScr
阅读全文
摘要:1. 元组 元组可以看做是数组的拓展,它表示已知元素数量和类型的数组。确切地说,是已知数组中每一个位置上的元素的类型 当我们为 元组 赋值时:各个位置上的元素类型都要对应,元素个数也要一致。 let typle:[string,number,boolean]; typle=["aaa",1111,t
阅读全文
摘要:then 方法必须 返回一个新的promise 新的Promise 必须返回传递两个方法 onFulfilled, onRejected onFulfilled, onRejected 其中的某个都要返回 一个value if either onFulfilled or onRejected ret
阅读全文
摘要:1.布尔类型 布尔值只能为 true 或者 false ,其他的会报错 2.数值类型 所有数字都是浮点数,所以只有一个number类型,而没有int或者float类型。 TypeScript 还支持 ES6 中新增的二进制和八进制数字字面量 3.字符串 字符串类型中你可以使用单引号和双引号包裹内容
阅读全文
摘要:(1)初始化项目 新建一个文件夹“client-side”,作为项目根目录,进入这个文件夹: 我们先使用 npm 初始化这个项目: 这时我们看到了在根目录下已经创建了一个 package.json 文件,接下来我们创建几个文件夹: npm install -g tslint mkdir client
阅读全文
摘要:在promise 的then 中我们不仅有 成功状态 失败状态,可能还有等待状态,所以我们要对等待状态进行处理 在 then 方法中 我们先进行状态的判断 ,如果这个状态是 pending 状态 ,我们就对它进行处理 首先先声明 成功状态的回调数组 为空 失败状态的回调数组为空 在等待状态中 我们将
阅读全文
摘要:一进来 我们开始执行 executor函数 传递两个参数 再调用 then 方法 ,then 方法里面有 OnResolve方法,OnReject 方法 在then 方法中,我们一开始的状态是pending 然后根据 状态的不同 调用不同的函数, 在两个不同的函数中 我们 进行判断 因为状态一开始都
阅读全文
摘要:new Promise 需要传递一个执行器 (函数) 函数有两个参数 resolve reject promise 承诺 默认的状态是pengding 调用 resolve 表示成功 reject 表示失败 每一个promise 都有一个实例方法 then 我们可以从 等待状态 = > 成功状态/失
阅读全文
摘要:Vue 的 _render 方法是实例的一个私有方法,它用来把实例渲染成一个虚拟 Node ,返回的是一个VNode 在 Vue 的官方文档中介绍了 render 函数的第一个参数是 createElement,那么结合之前的例子: <div id="app"> {{ message }} </di
阅读全文
摘要:Vue 中我们是通过 $mount 实例方法去挂载 vm 的 $mount 方法实际上会去调用 mountComponent 方法,mountComponent 核心就是先实例化一个渲染Watcher,在它的回调函数中会调用 updateComponent 方法,在此方法中调用 vm._render
阅读全文
摘要:Vue 初始化主要就干了几件事情,合并配置,初始化生命周期,初始化事件中心,初始化渲染,初始化 data、props、computed、watcher 等等。
阅读全文
摘要:不要在一个属性的 observer 函数中修改属性的值 不然会造成内存泄露 错误代码: 效果:
阅读全文
摘要:自定义组件的触发事件: 自定义组件触发事件时,需要使用 triggerEvent 方法,指定事件名、detail对象和事件选项: this.triggerEvent('like', { behavior: behavior }, {}) 1. 'like' 自定义的事件名 2. behavior b
阅读全文
摘要:先编写基本的页面架构 编写css 这里有3个地方注意: 1.组件的整体样式采用flex 布局 2. 电影这个图片的处理 一开始电影图片处于这样的位置 我们可以使用相对定位 改变它的位置显示 相对定位就是 相对于它原来的位置改变 需要设置 left right top botttom 才有效果 3.
阅读全文
摘要:1.配置基本的 请求路径 和 key config.js 2.封装 util/http 3.使用 先引入 ,再实例化 发送请求:
阅读全文
摘要:1.str.charAt(index) 返回字符串中指定位置的字符。 str 是字符串 我们要将获得的数据 转化为字符串 var startChar = code.charAt(0); 返回位置 为0 的 字符 比如 ‘200’ 返回的就是 2 2. startsWith():返回布尔值,表示参数字
阅读全文