
JavaScript学习笔记
文章平均质量分 88
fishmemory7sec
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JavaScript练习任务1
创建一个函数readNumber,它提示输入一个数字,直到访问者输入一个有效的数字为止。结果值必须以数字形式返回。访问者也可以通过输入空行或点击“取消”来停止该过程。在这种情况下,函数应该返回 null。原创 2024-07-17 21:40:39 · 1076 阅读 · 0 评论 -
Symbol.iterator迭代器
可以应用for..of的对象被称为 可迭代的。技术上来说,可迭代对象必须实现方法。的结果被称为 迭代器(iterator)。由它处理进一步的迭代过程。一个迭代器必须有next()方法,它返回一个对象,这里done:true表明迭代结束,否则value就是下一个值。方法会被for..of自动调用,但我们也可以直接调用它。内建的可迭代对象例如字符串和数组,都实现了。原创 2024-07-19 00:10:41 · 1289 阅读 · 0 评论 -
Map and Set(映射和集合)
JavaScript 原有的表示“”的数据结构,主要是数组(Array)和对象(Object在ES6,引入了Map和Set。原创 2024-07-19 11:13:32 · 1169 阅读 · 0 评论 -
词法环境(Lexical Environment)
各位大佬都写得非常好,图示说明+代码说明,非常易于理解。码住。原创 2024-07-22 16:06:16 · 773 阅读 · 0 评论 -
JavaScript闭包
闭包(closure)是一个函数以及其捆绑的周边环境状态的引用的组合。换而言之,闭包让开发者可以从内部函数访问外部函数的作用域。在 JavaScript 中,闭包会随着函数的创建而被同时创建。在上述示例中,就是一个闭包。当执行完毕后,仍然能够访问中的变量,这是因为闭包保留了创建它时的词法环境。闭包由函数以及创建该函数的词法环境组合而成。即使创建闭包的外部函数已经执行完毕,闭包仍能访问外部函数中的变量(依然可以保留对这些外部变量的引用)。我们来看一个例子:每个函数输出的编号都是10,为什么?原创 2024-07-22 16:31:36 · 370 阅读 · 0 评论 -
JavaScript练习任务2
阶乘是一个数学术语。它表示一个正整数的阶乘是所有小于及等于该数的正整数的积。具体来说,一个自然数n的阶乘写作。原创 2024-07-22 22:42:49 · 1142 阅读 · 0 评论 -
JavaScript----call,apply,bind
callapply和bind是 JavaScript 中用于改变函数执行上下文(即 t)的方法。原创 2024-07-23 12:50:53 · 776 阅读 · 0 评论 -
JavaScript 属性的 getter 和 setter
,console.error('名字必须是字符串');return;});obj.name = "张三";在上述示例中,为对象obj的name属性定义了getter和setter。getter用于获取属性值,setter用于设置属性值,并进行了类型检查。也可以通过obj._name直接访问name。注意一个众所周知的约定:以下划线 “_” 开头的属性是内部属性,不应该从对象外部进行访问。原创 2024-07-23 17:08:00 · 616 阅读 · 0 评论 -
JavaScript Class(类)
在 JavaScript 中,类是一种用于创建对象的模板。使用class关键字来定义类,类体在一对大括号{}中,可以在其中定义类的成员,如属性、方法或构造函数等。原创 2024-07-24 20:42:56 · 1132 阅读 · 0 评论 -
JavaScript Proxy() 构造函数、Proxy对象
Proxy()构造函数用于创建Proxy对象。原创 2024-07-29 20:14:44 · 1557 阅读 · 0 评论 -
JavaScript Reflect
Reflect 是一个内置的对象,它提供拦截 JavaScript 操作的方法。这些方法与 proxy handler 的方法相同。Reflect 不是一个函数对象,因此它是不可构造的。Reflect 是可简化 Proxy 的创建。原创 2024-07-29 21:05:55 · 1065 阅读 · 0 评论 -
JavaScript eval():执行代码字符串
eval()函数会将传入的字符串当做 JavaScript 代码进行执行。文档请查看。原创 2024-07-30 12:10:22 · 502 阅读 · 0 评论 -
JavaScript 柯里化(Currying)
柯里化(Currying)是一种将接受多个参数的函数转换为一系列接受单个参数的函数的技术。简单来说,柯里化是一种函数的转换,原本一个函数需要一次性接收多个参数才能执行,通过柯里化,将其改造成可以逐步接收参数,并在接收完所有必要参数后才执行最终的操作。比如将一个函数从可调用的f(a, b)转换为可调用的f(a)(b)。创建一个辅助函数,该函数将对两个参数的函数sum执行柯里化。换句话说,对于两个参数的函数sum(a, b)执行会将其转换为以sum(a)(b)(2)sum。原创 2024-07-30 14:56:10 · 1134 阅读 · 0 评论 -
JavaScript Reference Type解读
Reference Type 是语言内部的一个类型。存储方式引用类型的值在内存中的存储分为两部分,一部分是对象本身,存储在堆(heap)中;另一部分是对象的引用地址,存储在栈(stack)中。变量实际上存储的是这个引用地址。赋值了对象的变量存储的不是对象本身,而是该对象“在内存中的地址”。换句话说就是对该对象的“引用”。引用共享对象是“通过引用”存储和复制的。传递方式在函数传参时,引用类型是按引用传递。这意味着函数内部对参数的修改会影响到原始的对象或数组。可变性引用类型的值是可变的。原创 2024-07-30 20:34:16 · 1271 阅读 · 0 评论 -
JavaScript 变量声明var、let、const
varletconst在 JavaScript 中,varlet和const是用于声明变量的关键字。let和const是JavaScript里相对较新的变量声明方式。let用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。const声明一个只读的常量。一旦声明,常量的值就不能改变。const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。对于const来说,只声明不赋值,就会报错。原创 2024-07-31 22:33:25 · 1133 阅读 · 0 评论 -
Symbol类型及基础用法
使用Symbol的优点:属性名的唯一性Symbol 可以确保属性名的唯一性,避免属性名冲突的问题。即使多个 Symbol 值使用相同的描述符,它们依然是不同的属性名。防止属性被意外访问使用 Symbol 作为属性名,可以隐藏属性,使其不容易被意外访问到。这有助于在对象中定义私有属性或内部使用的属性。从技术上说,symbol 不是 100% 隐藏的。扩展对象的功能通过自定义 Symbol 属性,可以为对象添加自定义行为,如迭代器、比较器等。原创 2024-07-17 12:19:31 · 1239 阅读 · 0 评论 -
可选链(?.)
可选链?检查左边部分是否为,如果不是则继续运算,否则立即停止运算。可选链?前的变量必须已声明。可选链?不能用于赋值。可选链?链使我们能够安全地访问嵌套属性。根据代码逻辑,仅在当左侧部分不存在也可接受的情况下,谨慎地使用?。滥用?,会导致代码中的错误在不应该被消除的地方消除了,增加调试难度。原创 2024-07-17 09:36:37 · 308 阅读 · 0 评论 -
逻辑运算符&&(与)
在传统的编程中,当两个操作数都是真值时,与运算返回true,否则返回false带有if。转载 2024-07-04 14:37:05 · 151 阅读 · 0 评论 -
逻辑运算符 || (或)
在日常的开发工作中,我们主要用到的是。在写代码的时候可以麻溜的写,并不意味着吃透了他们的概念,比如我…因为失业没事干,想着从头过一遍基础,然后发现真的很有必要再学一次,用的麻溜不代表理论也麻溜!转载 2024-07-03 22:15:37 · 156 阅读 · 0 评论