![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js知识整理
掌握js 预编译、作用域与作用域链、执行上下文、构造函数、原型及原型链、类、数组方法等知识
︶一颗莎
这个作者很懒,什么都没留下…
展开
-
执行上下文
解析的时候会先创建一个全局执行上下文环境,先把代码中即将执行的变量、函数声明都拿出来,变量先赋值为undefined,函数先声明好可使用。任何不在函数内部的都是全局执行上下文,它首先会创建一个全局的window对象,并且设置this的值等于这个全局对象,一个程序中只有一个全局执行上下文。在一个函数执行之前,也会创建一个函数执行上下文环境,跟全局执行上下文类似,不过函数执行上下文会多出this、arguments和函数的参数。1)执行环境有全局执行环境(也称为全局环境)和函数执行环境之分;原创 2023-09-26 15:41:05 · 75 阅读 · 1 评论 -
作用域与作用域链
作用域链:在当前作用域查找变量,未查找到,再一层一层向上查找,直到全局作用域还没找到,就放弃。这种一层一层的关系,就是作用域链。通俗理解:作用域就是一个地盘,让变量不会泄露,暴露出去。作用域最大的作用是隔离变量,不同作用域下同命名变量不会有冲突。1、作用域:在运行时代码中的部分特定变量、函数、对象的可访问性。作用域决定了代码区域中变量和其他资源的可见性。在ES6之前只有全局作用域和函数作用域,ES6之后,又提供了块级作用域,可通过let,const。自由变量:在当前作用域没有定义的变量。原创 2023-09-26 15:32:57 · 48 阅读 · 1 评论 -
js 预编译
预编译是JavaScript中的一种行为,是在代码执行之前对变量和函数进行提升操作。在预编译阶段,JavaScript将变量和函数的声明提升到作用域的顶部,这意味着可以在声明之前使用它们。JavaScript运行三部:(1)分析代码 (2)预编译 (3)执行代码。原创 2023-09-26 15:30:47 · 51 阅读 · 1 评论