javaScript
文章平均质量分 83
JavaScript入门
勤奋的牛二
这个作者很懒,什么都没留下…
展开
-
【ECMAScript 6入门】Generator
yield 1yield 2yield 3return 4比普通函数多一个函数内部用yield来控制程序的执行的「暂停」函数的返回值通过调用next()来「恢复」程序执行Generator 函数的定义不能使用箭头函数,否则会触发 SyntaxError 错误。原创 2023-12-06 09:57:58 · 56 阅读 · 0 评论 -
【ECMAScript 6入门】Class
虽然 ES6 在类的定义上仅是 ES5 定义类的语法糖,但是从开发者的角度而言,开发更有效率了,代码可阅读性大大提升。原创 2023-11-28 18:11:09 · 26 阅读 · 0 评论 -
【ECMAScript 6入门】Symbol
ES6 引入了一种新的原始数据类型Symbol,表示独一无二的值。Symbol 值通过 Symbol 函数生成。这就是说,对象的属性名现在可以有两种类型,一种是原来就有的字符串,另一种就是新增的 Symbol 类型。凡是属性名属于 Symbol 类型,就都是独一无二的,可以保证不会与其他属性名产生冲突。原创 2023-11-28 14:41:31 · 27 阅读 · 0 评论 -
【ECMAScript 6入门】Set
ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。原创 2023-11-28 10:22:26 · 20 阅读 · 0 评论 -
【ECMAScript 6入门】Map
ES6 提供了 Map 数据结构。它类似于对象,也是键值对的集合,但是「键」的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object 结构提供了「字符串—值」的对应,Map 结构提供了「值—值」的对应,是一种更完善的 Hash 结构实现。如果你需要「键值对」的数据结构,Map 比 Object 更合适。原创 2023-11-27 17:20:08 · 24 阅读 · 0 评论 -
【ECMAScript 6入门】 Function 扩展
所在的。原创 2023-11-27 17:18:50 · 12 阅读 · 0 评论 -
【JavaScript 核心】事件循环机制
JavaScript 是单线程的,同一时间只能做一件事情。如果碰到某个耗时长的任务(比如一个需要 3s 的网络请求),那么后续的任务都要等待,这种效果是无法接受的,这时我们就引入了异步任务的概念。同步任务:会放入到执行栈中,他们是要按顺序执行的任务;异步任务:会放入到任务队列中,这些异步任务一定要等到执行栈清空后才会执行,也就是说异步任务一定是在同步任务之后执行的。本文所讲的 JavaScript 事件循环机制,它主要与异步任务有关。JavaScript 事件循环总是从一个宏任务开始执行。原创 2023-11-09 16:36:44 · 27 阅读 · 1 评论 -
【JavaScript核心】调用函数的四种方式
函数定义从function关键字开始,构成函数主体的 JavaScript 代码在定义之时并不会执行,只有调用该函数时,它们才会执行。关于变量提升:var 只有变量声明提前,变量的初始化代码仍然在原来的位置;然而 function 则会使函数名称和函数体均提前。作为函数调用作为方法调用作为构造函数调用(new调用)上下文调用(callapplybind在 ECMAScript 2015(ES6)之前,函数内部的this指向是由该函数的调用方式决定的。原创 2023-11-15 16:27:02 · 610 阅读 · 0 评论 -
【ECMAScript 6入门】解构赋值
将值从数组中取出,赋值给其他变量。这是一个拷贝过程,原数组和元素本身不会被改变。原创 2023-11-24 14:54:10 · 170 阅读 · 1 评论 -
【JavaScript核心】声明函数的六种方式
函数体的代码参数列表可以从词法作用域访问的变量返回值调用该函数时的上下文this命名函数或匿名函数保存函数对象的变量arguments 对象(在箭头函数中没有)本文介绍六种声明 JavaScript 函数的方式,分别介绍他们的声明语法、示例和常见的陷阱。并总结在特定的情况下何时使用特定的函数类型。从 ECMAScript 2015 开始,在对象初始化中引入了一种更简短定义方法的语法,这是一种把方法名直接赋给函数的简写方式,可用于对象常量和 ES2015 类的方法声明。原创 2023-11-14 17:27:03 · 1078 阅读 · 1 评论 -
【ECMAScript 6入门】let 和 const
这两个关键字是 ES6 新增的声明变量方式,与varvarletconst。原创 2023-11-24 19:15:00 · 13 阅读 · 0 评论 -
【javaScript核心】闭包
闭包的定义,分成两个:在计算机科学中和在JavaScript中。闭包的概念出现于60年代,最早实现闭包的程序是 Scheme,那么我们就可以理解为什么JavaScript中有闭包: 因为JavaScript中有大量的设计是来源于Scheme的。原创 2023-11-10 11:35:35 · 355 阅读 · 1 评论 -
【javaScript核心】高阶函数
JavaScript 中,函数是一等公民」,在各种书籍和文章中我们总能看到这句话。通俗地解释就是:JS 中的函数也是对象,可以有属性,可以赋值给一个变量,可以放在数组里作为元素,可以作为其他对象的属性,普通对象能做的它能做,普通对象不能做的它也能做。而所谓的高阶函数(Higher-order function),就是输入参数里有函数,或者输出是函数的函数。最常见的高阶函数有map()reduce()filter()sort()setTimeout。原创 2023-11-13 18:14:42 · 23 阅读 · 0 评论 -
【ECMAScript 6入门】Object 扩展
在 ES6 之前 Object 的属性必须是 key-value 形式。在 ES6 之后是可以用简写的形式来表达。原创 2023-11-25 09:45:00 · 15 阅读 · 0 评论 -
【ECMAScript 6入门】Number
ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示。原创 2023-11-25 13:00:00 · 10 阅读 · 0 评论 -
【ECMAScript 6入门】Array
用于将类数组的对象(array-like object)和可遍历的对象(包括 ES6 新增的数据结构 Set 和 Map),转为真正的数组。在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。返回数组中满足 func 函数内条件的第一个元素的索引。为数组里的每个元素执行 func 函数,返回函数累计处理的结果。返回数组中满足 func 函数内条件的第一个元素,否则返回。返回新的数组,每个元素为调用 func 的结果。返回符合 func 条件的元素数组。原创 2023-11-24 14:52:45 · 416 阅读 · 1 评论 -
【JavaScript基础】 继承的八种方式
在编写代码时,有些对象会有方法(函数),如果把这些方法都放在构造函数中声明就会导致内存的浪费。如下,通过调用构造函数的方式来创建对象,Person是p1p2的构造函数。所有的Person对象都有say方法,并且功能相似,但是他们占据了不同的内存,会导致内存浪费(内存泄露)。console.log("你好");// false于是,我们就需要用到继承。通过某种方式让一个对象可以访问到另一个对象中的属性和方法,我们把这种方式称之为继承。原型链继承借用构造函数继承组合模式继承。原创 2023-11-23 16:21:02 · 171 阅读 · 0 评论 -
【JavaScript】数组遍历的几种方式
说了这么多,那这些遍历方法, 在性能上有什么差异呢?我们在 Chrome 浏览器中尝试。我采用每个循环执行 10 次,去除最大、最小值,取平均数,降低误差。index++) {从打印结果可以看出,原生for循环的速度最快,循环最慢。原创 2023-11-16 17:13:09 · 340 阅读 · 0 评论 -
【JavaScript 核心】栈空间和堆空间
truefalsenullundefinedundefinedtypeofobject在 Javascript 中二进制前三位都为0的话会被判断为 Object 类型,null的二进制表示全0,因此执行时返回object—— 《你不知道的JavaScript(上)》原创 2023-11-08 15:10:26 · 31 阅读 · 1 评论 -
【JavaScript 核心】数据类型
Undefined 类型只有一个值,即特殊的undefined。Undefined值会被赋值给所有未初始化变量,在查看不存在的对象属性时也返回这个值。在布尔上下文中,未定义值被认为是假值。注意: undefined 被认为是真正的基本数据类型。除非显式转换,否则与在逻辑上下文中评估为false的其他类型相比,未定义的值可能会出现不可预料的行为。var test;// 变量被声明但未定义,其值被赋为undefined值// test的值存在,显示为undefined。原创 2023-11-07 18:11:12 · 150 阅读 · 0 评论