首页 > 应用开发 > Javascript > 好程序员web前端教程分享JS基础知识
好程序员web前端教程分享JS 基础知识, 为大家分享一篇关于JS 的基础知识。
1 、执行环境:有时也叫环境,是 JavaScript 中最为重要的一个概念,执行环境定义了变量或函数有权访问的其他数据。
2 、变量对象:每一个执行环境都有一个与之关联的变量对象,环境中定义的所有的变量和函数都保存在这个的对象中。
3 、作用域链:代码在环境中执行时,会创建变量对象的作用域链,保证对执行环境有权访问的所有变量和函数的有序访问。作用域链的前端,始终是当前执行代码所在环境的变量对象。
4 、活动对象:如果当前执行环境是函数,则将活动对象作为变量对象。
5 、可执行代码:
1) 全局代码:例如加载外部的 JS 文件或者本地标签内的代码,全局代码不包括 function 体内的代码 ;
2) 函数代码: function 体内的代码 ;
3) eval 代码: eval() 函数计算某个字符串,并执行其中的 JS 代码,比如
eval("alert('helloworld')") 。
6 、执行上下文栈:在一个 JS 程序中,必定会产生多个执行上下文, JS 引擎会以栈的方式来处理它们,也就是执行上下文栈。
7 、作用域: JS 是一种没有块级作用域的语言 ( 包括 if 、 for 等语句的花括号代码块或者单独的花括号代码块都不能形成一个局部作用域 ) ,所以 js 的局部作用域的形成有且只有函数的花括号内定义的代码块形成的,既函数作用域。
8 、作用域链:是作用域规则的实现,通过作用域链的实现,变量在它的作用域内可被访问,函数在它的作用域内可被调用。
作用域链是一个只能单向访问的链表,这个链表上的每个节点就是执行上下文的变量对象,单向链表的头部( 可被第一个访问的节点 ) 始终都是当前正在被调用执行的函数的变量对象 ( 活动对象 ) ,尾部始终是全局活动对象。
9 、闭包:函数对象可以通过作用域链相互关联起来,函数体内的数据 ( 变量和函数声明 ) 都可以保存在函数作用域内,这种特性在计算机科学文献中被称为“闭包”。
从技术角度来说,JS 的函数都是闭包:函数都是对象,都关联到作用域链,函数内数据都被保存在函数作用域内。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69913892/viewspace-2661150/ ,如需转载,请注明出处,否则将追究法律责任。