08 2019 档案
摘要:这篇文章不包括Promise的基本用法,主要是一些平时不常用的。。。。。。 then方法指定的回调函数,如果运行中抛出错误,也会被catch方法捕获。以下例子最终会先输出catch error,然后再抛出错误信息: const testPromise = new Promise(function (
阅读全文
摘要:在JavaScript中,有三种常用的绑定事件的方法: 在DOM元素中直接绑定:onclick="eventFunction" 在JavaScript代码中绑定:elementObject.onXXX=function(){ // 事件处理代码 } 绑定事件监听函数:addEventListener
阅读全文
摘要:以上代码中,在浏览器是分别输出Error: 3(正常打印出错误实例,未报错)和 Uncaught Error: 5(一个未捕获错误): 原因:以上例子中第二个try catch捕获不到错误,因为try catch是同步的,执行到setTimeout时把它放到了异步任务队列里(setTimeout是异
阅读全文
摘要:由于javascript是单线程的,只能在JS引擎的主线程上运行的,所以js代码只能一行一行的执行,不能在同一时间执行多个js代码任务,这就导致如果有一段耗时较长的计算,或者是一个ajax请求等IO操作,如果没有异步的存在,就会出现用户长时间等待,并且由于当前任务还未完成,所以这时候所有的其他操作都
阅读全文
摘要:闭包就是能够读取其他函数内部变量的函数。 闭包有三个特点: 函数嵌套函数。 函数内部可以引用外部函数的参数和变量。 这个参数和变量不会被垃圾回收机制回收。 比如想要实现一个函数,每次调用的时候,函数内的变量实现加1。 以下函数,每次调用fn,得到的a都是11 。这是因为每次调用的时候,都会重新声明a
阅读全文
摘要:箭头函数这样写可以返回对象{ foo: x }: 箭头函数内部的this是词法作用域,由上下文确定,即在定义的时候就确定了它得this指向,而不是在调用它的时候。箭头函数只会从自己的父作用域里继承this,和谁调用的没有关系: 通过call()、apply()或bind()方法调用一个箭头函数时,只
阅读全文
摘要:作用域在函数定义时就已经确定了,执行上下文环境在函数调用时才确定。在全局作用域和函数作用域中会创建执行上下文环境(有闭包存在时,一个作用域存在两个上下文环境也是有的)。函数每调用一次都会产生一个新的执行上下文环境。但是处于活动状态的执行上下文环境只有一个,这是一个压栈出栈的过程。 执行上下文:函数每
阅读全文
摘要:ES5中只有全局作用域和函数作用域,没有块级作用域。在ES6中多了一个块级作用域, {}在ES6中用来形成块级作用域,即代码块。 let命令声明的变量只在let代码块内有效,声明之后可以改变变量的值; let不会发生变量提升的现象,let声明的变量需要在定义后使用,否则报错; let 不能重复声明已
阅读全文
摘要:prototype(原型)是函数才有的属性,__proto__(隐式原型)是每个对象都有的属性,__proto__指向它构造函数的prototype。 __proto__最初是一个非标准属性,ES6已将其标准化,可以用标准方法Object.getPrototypeOf()替代 var a = {};
阅读全文
摘要:进程: 1、进程是系统进行资源分配和调度的一个独立单位,进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于
阅读全文
摘要:typeof一般用于检测基本类型,而对引用类型的检测一般用 instanceof typeof和instanceof属于运算符,和+ - * /是一样的。 typeof的返回值是字符串包括:'number'、'string'、'boolean'、'undefined'、'object'、'funct
阅读全文
摘要:generator(生成器)是ES6标准引入的新的数据类型。一个generator看上去像一个函数,但可以返回多次。 1、generator函数的定义是function*,这与普通函数是不同的 2、yield需使用在generator函数中,所表示的意思是“执行到这,并返回” 3、yield是有返回
阅读全文
摘要:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的,一般用于插入与删除较为频繁的场景。链表并不需要数组那样的连续空间,它只需要一个个零散的内存空间即可,因此对内存空间的要求也比数组低。 一、单向链表 上图是“单链表”示例,链表的每一个节点通过“指针”
阅读全文
摘要:一、require.ensure() webpack在打包的时候会把整个路由打包成一个js文件,路由组件越多,js文件越大,加载越缓慢。使用require.ensure()加载的组件会单独打出一个js文件。以下就是每个组件,没有自定义名称,会被从0开始命名(有hash的时候会被带上md5)。 二、在
阅读全文
摘要:<keep-alive>包裹的动态组件会被缓存,它是一个抽象组件,它自身不会渲染一个dom元素,也不会出现在父组件链中。当组件在 <keep-alive> 内被切换,它的 activated 和 deactivated 这两个生命周期钩子函数将会被对应执行。 如<keep-alive>包裹两个组件:
阅读全文
摘要:一、v-model.lazy 只有在input输入框发生一个blur时才触发 v-model绑定的变量正常输入的时候会同步更新,加上lazy时只在失去焦点时更新绑定的变量。 二、v-model.trim 将用户输入的前后的空格去掉 三、v-model.number 将用户输入的字符串转换成numbe
阅读全文
摘要:在系统变量里配置 一、 新建 JAVA_HOME C:\Program Files (x86)\Java\jdk1.8.0_144 二、 新建 CLASSPATH .;%JAVA_HOME%lib;%JAVA_HOME%lib\tools.jar; 三、 在Path添加以下两条: C:\Progra
阅读全文
摘要:window.scroll(0, 0);
阅读全文
摘要:main.js写入: 使用:
阅读全文