![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
核心模块
文章平均质量分 92
核心模块
wtrees_松阳
世树科技创始人,梦里繁花落尽,此情未央,此意难忘,弦虽断,曲犹扬!坚持与技术共同呼吸,与程序共命运。 承“技驱动,理致胜”的发展理念,致力于打造全面的学习资源,在国外技术译文、编程框架、国风编程等方面做了大量工作
展开
-
【编程向导】JavaScript-核心模块-闭包
闭包的定义:指有权访问另一个函数作用域中的变量的函数,一般情况就是在一个函数中包含另一个函数。闭包的作用:访问函数内部变量、保持函数在环境中一直存在,不会被垃圾回收机制处理函数内部声明的变量是局部的,只能在函数内部访问到,但是函数外部的变量是对函数内部可见的。子级可以向父级查找变量,逐级查找,直到找到为止或全局作用域查找完毕。因此我们可以在函数内部再创建一个函数,这样对内部的函数来说,外层函数的变量都是可见的,然后我们就可以访问到他的变量了。原创 2024-03-12 09:24:29 · 1213 阅读 · 10 评论 -
【编程向导】JavaScript-核心模块-函数类型详解
柯里化(Currying),又称部分求值(Partial Evaluation),是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。在一个方法里面可能会涉及到一些兼容性的问题,不同的浏览器对应不同的方法,第一次我们遍历这些方法找到最合适的那个, 并将这个方法覆盖于遍历它的函数,这就是惰性函数即只遍历一次就找到最佳方案,下次再要找那个方法的时候就不用遍历了,提高了性能。让函数继续返回一个可执行的函数,意味着运算过程是可延续的。原创 2024-03-09 22:03:20 · 2548 阅读 · 6 评论 -
【编程向导】JavaScript-函数类型之类构造函数
ES5 中使用构造函数不同的是,在 ES6 中,我们将原型的实现写在类中,但本质上还是一样的,都是需要新建一个类名,然后实现构造函数,再实现原型方法。这里建议你在构造函数中创建所有私有属性,从而只通过一处就可以控制所有的私有属性。私有属性是实例中的属性,不会出现在原型上,且只能在类的构造函数或方法中创建,此例的。尽管应该在类的构造函数中创建自己属性,但是类也支持直接在原型上定义访问器属性。ES5 中创建类的方法:新建一个构造函数,定义一个方法并且赋值给构造函数的原型。在类中,我们也可以使用生成器方法。原创 2024-03-07 11:48:57 · 1469 阅读 · 1 评论 -
编程向导-JavaScript-核心模块-执行上下文栈
当我们调用一个函数时(激活),一个新的执行上下文就会被创建。一个执行上下文的生命周期可分为和两个阶段。:在这个阶段中,执行上下文会分别进行以下操作:创建完成之后,就会开始执行代码,并依次完成以下步骤。原创 2024-02-28 17:02:55 · 838 阅读 · 1 评论 -
编程向导-JavaScript-核心模块-块作用域
任何一对花括号中的语句集都属于一个块,在这之中定义的所有变量在代码块外都是不可见的,我们称之为。尽管函数作用域是最常见的作用域单元,也是现行大多数 JavaScript 最普遍的设计方法,但其他类型的作用域单元也是存在的,并且通过使用其他类型的作用域单元甚至可以实现维护起来更加优秀、简洁的代码,比如块作用域。原创 2024-02-28 16:51:36 · 336 阅读 · 1 评论 -
编程向导-JavaScript-核心模块-作用域
一个变量的作用域(Scope)是程序源代码中定义这个变量的区域。全局变量拥有全局作用域,在 JavaScript 代码中的任何地方都是有定义的。然而在函数内声明的变量只在函数体内有定义。它们是局部变量,作用域是局部性的。函数参数也是局部变量,它们只是在函数体内有定义原创 2024-02-28 16:37:22 · 399 阅读 · 1 评论 -
编程向导-JavaScript-核心模块-编译阶段
JavaScript 是一门编译语言。与传统的编译语言不同的是,JavaScript 不是提前编译的,编译结果也不能在分布式系统中进行移植。原创 2024-02-28 15:58:34 · 800 阅读 · 1 评论 -
编程向导-JavaScript-核心模块-声明提升
JavaScript 程序的运行阶段分为和。在预编译阶段,JavaScript 引擎会做一件事情,那就是读取变量的定义并确定其作用域即生效范围。varletundefinedconst在 JavaScript 中,如果变量或函数没有声明就被使用,会引致错误的。包括和varletconstJavaScript 的代码在生成前,会先对代码进行编译,编译的一部分工作就是找到所有的声明,然后建立作用域将其关联起来,因此,在包括变量和函数在内的所有声明都会在任何代码被执行前首先被处理。注意这里是会被提前处理,原创 2024-02-28 16:11:44 · 374 阅读 · 1 评论 -
编程向导-JavaScript-核心模块-函数作用域
**函数作用域** 指属于这个函数的全部变量都可以在整个函数的范围内使用及复用(事实上在嵌套的作用域中也可以使用)。这种设计方案是非常有用的,能充分利用 JavaScript 变量可以根据需要改变值类型的动态特性。原创 2024-02-28 16:04:29 · 929 阅读 · 1 评论