- 博客(17)
- 收藏
- 关注
原创 JavaScript:垃圾回收
JavaScript 是使用垃圾回收的语言。由执行环境负责在代码执行时管理内存。垃圾回收指的是使用垃圾回收程序来实现自动的内存管理,即实现自动的内存分配和闲置资源的回收。垃圾回收的基本思路:确定某个变量不会再被使用后,就释放该变量占用的内存。垃圾回收是周期性的,即垃圾回收程序每隔一段时间(或者说在代码执行过程中某个预定的收集时间)就会运行一次。垃圾回收的过程是一个近似的、不完美的方案,因为某块内存是否还会被使用,属于“不可判定”的问题,这意味着靠算法是解决不了的。
2022-10-28 17:29:32 355 1
原创 JavaScript:解构赋值
定义一个类需要使用关键字 class。定义类的方式有两种:类声明类声明,即使用关键字 class 定义一个具名的类。类表达式类表达式,即以表达式的形式使用关键字 class 定义一个类,类名是可选的。类名一般采用首字母大写的形式。定义类。} // 类声明 const TypeB = class {} // 类表达式,不指定类名 const Type = class TypeC {} // 类表达式,指定类名。
2022-10-28 17:28:30 132
原创 JavaScript:类
定义一个类需要使用关键字 class。定义类的方式有两种:类声明类声明,即使用关键字 class 定义一个具名的类。类表达式类表达式,即以表达式的形式使用关键字 class 定义一个类,类名是可选的。类名一般采用首字母大写的形式。定义类。} // 类声明 const TypeB = class {} // 类表达式,不指定类名 const Type = class TypeC {} // 类表达式,指定类名。
2022-10-28 17:24:04 335
原创 JavaScript:继承
继承是面向对象编程中被频繁讨论的话题,很多面向对象语言都支持两种继承:dfdggECMAScript 不支持接口继承,因为 ECMAScript 的函数没有签名。ECMAScript 只支持实现继承,主要是通过原型链实现的。ECMAScript 的继承的基础是原型模式。ECMAScript 在原型机制的基础上,模拟传统面向对象编程语言中的继承的行为,由此发展出多种不同程度的继承方式。
2022-10-28 17:23:11 392
原创 JavaScript:原型模式
ECMAScript 使用原型模式来实现多个对象共享某个对象的所有属性的操作。当创建一个函数对象时,会为函数对象创建一个属性 prototype 引用一个对象,被称为原型对象,而原型对象会有一个属性 constructor 引用该函数对象,即函数和原型之间相互引用,形成循环引用。对象拥有一个内部特性 [[Prototype]] ,是一个指针,指向某个原型对象。原型的属性可以直接通过相匹配的对象被访问。
2022-10-28 17:22:29 141
原创 JavaScript:函数
函数声明函数表达式箭头函数立即调用函数表达式new Function() (不推荐使用)命名函数(使用函数声明定义)匿名函数(使用函数表达式定义)箭头函数。
2022-10-28 17:20:36 308
原创 JavaScript:异步编程
异步编程是一种编程模式。JavaScript 是单线程的,只有一个线程可以执行代码。这意味着,所有代码都只能在一个线程中按顺序执行,这很容易导致代码执行的阻塞。代码的每一个语句都需要被执行,为了完成某个计算任务需要一定的执行时间。不同任务的执行时间之间的差别可能是数量级的。根据执行时间的数量级(或长短)可以把计算任务粗略分为两种:简单任务复杂任务线程阻塞,即在执行代码时,先执行了复杂任务,使后面的简单任务一直处于等待状态。线程阻塞是 “不合理” 的,应该优先执行简单任务,再执行复杂任务。
2022-10-19 00:37:19 200
原创 JavaScript:异步函数
通过在函数定义前使用关键字 async ,定义异步函数。定义异步函数// 命名函数 async function asyncFunc_01() {} // 匿名函数 const asyncFunc_02 = async function() {} // 箭头函数 const asyncFunc_03 = async() => {}
2022-10-18 23:44:03 3991
原创 JavaScript:期约
期约是一种机制。期约通常表示一个正在处理的、尚未结束的操作,当相关操作结束时,期约会通知系统。期约机制是 ECMAScript 实现异步编程的重要组成部分。目前,流行的期约机制的规范是规范 Promises/A+。ES6 规范以规范 Promises/A+ 为范本,来实现期约。ES6 新增类型 Promise ,来实现(支持)规范 Promises/A+。
2022-10-18 23:42:50 435
原创 JavaScript:生成器
在使用关键字 function 定义函数对象时,通过在关键字 function 后面添加星号(*)来定义生成器。不能使用箭头函数定义生成器。星号(*)不受其两侧的空格影响。// 定义生成器 function * generator() {} // 在对象字面量中简写函数时 let obj = {} }
2022-10-18 23:40:22 817
原创 Vue 插件:VueRouter
VueRouter 是一个 Vue 插件,用于实现 SPA(single page web application) 应用。SPA(single page web application) 应用,即单页面应用。整个应用只有一个 .html 文件,通常命名为 index.html。SPA 应用使得客户端应用不需要向服务端请求包含完整页面的数据,而是仅请求刷新页面所需的数据,SPA 应用根据请求到的数据,在客户端对页面进行更新。这减少了客户端与服务端之间通信的数据量。
2022-10-18 23:26:34 330
原创 JavaScript:迭代
迭代(iteration)指的是按照顺序反复执行一段程序的操作,通常会有明确的终止条件。循环是迭代的基础。循环可以指定迭代的次数和每次迭代执行的操作。迭代的对象通常是一个有序集合。有序集合,即可以按某种顺序对集合的元素进行遍历的集合。在 ES6 之前,执行迭代必须使用循环或其它辅助结构。随着代码量的增加,代码会变得混乱。很多语言都通过原生语言结构解决了这个问题,开发者无须事先知道具体的迭代方式就能实现迭代。这个解决方案就是迭代器模式。
2022-10-18 23:22:50 275
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人