当前位置: 首页 > news >正文

自己做的网站添加交费功能南通网站建设方案服务

自己做的网站添加交费功能,南通网站建设方案服务,公司网站后台,手机黄页怎么找在深入探讨JavaScript预编译与执行机制之前#xff0c;我们首先需要明确几个基本概念#xff1a;声明提升、函数执行上下文、全局执行上下文以及调用栈。这些概念共同构成了JavaScript运行时环境的核心组成部分#xff0c;对于理解代码的执行流程至关重要。本文将围绕这些核…在深入探讨JavaScript预编译与执行机制之前我们首先需要明确几个基本概念声明提升、函数执行上下文、全局执行上下文以及调用栈。这些概念共同构成了JavaScript运行时环境的核心组成部分对于理解代码的执行流程至关重要。本文将围绕这些核心概念展开一次深度解析之旅,全面而深入地阐述这一主题。 一、声明提升Hoisting 声明提升是JavaScript中一个独特的特性它涉及到变量声明和函数声明在代码执行前被提前处理的过程。这一特性有时会引发一些令人困惑的行为尤其是对初学者而言但深入理解其机制是掌握JavaScript语言的关键之一。 1. 变量声明提升 当JavaScript引擎开始执行一段脚本或函数时它首先会进行编译阶段在这个阶段所有使用var声明的变量会被提升至当前作用域的顶部。这意味着尽管你在代码中可能将变量声明放在了函数体的下半部分实际上该变量在整个函数作用域内都是可用的尽管其初始值为undefined。 console.log(a); // undefined var a 5 在上述代码中尽管变量a的赋值操作发生在console.log之后但由于声明提升a在输出时已经被声明了只是其值为undefined。 结果与下述代码一致 var a console.log(a); // undefined var a 5 2. 函数声明提升 与变量声明类似使用函数声明语法定义的函数也会被提升至所在作用域的顶部。这意味着你可以在函数声明之前调用函数而不会遇到引用错误。 javascript foo(); // 输出 Hello, World! function foo() { console.log(Hello, World!); } 二、函数执行上下文与全局执行上下文 在JavaScript中每当一个函数被调用时都会创建一个新的执行上下文Execution Context。执行上下文负责存储函数执行过程中的变量、函数参数以及作用域链等信息它是JavaScript执行环境的具体体现。 1. 函数执行上下文AO 当一个函数被调用时会执行以下步骤来创建其执行上下文通常称为活动对象AO, Activation Object 创建AO为函数创建一个新的执行上下文对象AO。参数和变量声明找形参和变量声明将形参和变量名作为AO的属性值为underfined初始值设为undefined。实参与形参绑定将实参和形参统一。函数声明在函数体内找函数声明将函数名作为AO的属性名值赋予函数体。 例子 function fn(a){ console.log(a); //function a(){} var a 123 console.log(a); // a:123 function a(){} //函数声明 console.log(a); var b function (){} //函数表达式 console.log(b); //function b(){} function d(){} var da // d:123 console.log(d); //123 } fn(1) 执行上下文AO 代码实际输出结果 2. 全局执行上下文GO 全局执行上下文是在程序启动时创建的第一个执行上下文它代表了整个JavaScript程序的执行环境。其创建过程包括 创建GO创建全局执行上下文对象 GO。变量声明在全局找变量声明变量名作为GO的属性名初始值为undefined。函数声明在全局找函数声明函数名作为GO的属性名值为函数体。 例子 var global 100 function fn(){ console.log(global); } fn() 执行上下文GO 代码实际输出结果 3. 全局执行上下文GO和 函数执行上下文AO 当程序运行时先进行全局变量的预编译在函数调用的前一刻进行函数声明进入函数预编译。 例子 javascript global 100 function fn(){ console.log(global); //undefined global 200 console.log(global); //200 global300 } fn(); console.log(global); var global; 全局执行上下文GO和函数执行上下文AO 代码实际输出结果 三、调用栈Call Stack 调用栈是JavaScript引擎用于追踪函数调用顺序的一种数据结构它记录了每一次函数调用的状态包括函数的返回地址和局部变量等信息。每当一个函数被调用时其执行上下文会被推入调用栈当函数执行完毕其上下文则从栈顶弹出控制权返回到调用它的函数或全局作用域。 调用栈的工作机制确保了函数的执行顺序遵循“先进后出”原则同时也限制了JavaScript的并发能力因为任何时刻只能有一个执行上下文处于活动状态这解释了为什么JavaScript被称为单线程语言。
http://www.hkea.cn/news/14435602/

相关文章:

  • 亚马逊官方网站怎么做vue网页模板免费
  • 做网站需要什么设备受欢迎的模板网站建设
  • 怎么给网站搭建后台app应用网站html5模板
  • 网站在哪里搜索wordpress 前台多余代码
  • 万网域名管理网站右翼网站
  • 国学大师网站是哪里做的网站下载的网页修改下面版权所有
  • 网站开发图片加载过慢如何优化xampp 查看wordpress模板
  • 合肥网站建设公司加盟代理网页在线
  • 四川住房和城乡建设部网站官网房地产网站开发
  • 佛山用户网站建设建立网站要钱吗?
  • 优良网站it外包公司为什么不能去
  • 张家界网站制作公司重庆专业网站开发服务
  • 深圳住房和建设局网站登录界面seo免费优化工具
  • 国外做免费的视频网站火车头wordpress发布模块制作
  • 泉州自助建站杭州专业的网站制作公司
  • 刚做的网站怎么在百度上能搜到网站服务器容量
  • 开发大型网站的最主流语言网站看不到预览图
  • 网站后台管理器怎么做响应式网站建设报价单
  • 建个普通网站多少钱wordpress会员vip插件
  • 青岛网站定制电商网站建设合同模板
  • 高端网站建设文案自学做网站可以吗
  • 北京高端定制网站建设专业企业网站制作怎么做
  • 快速搭建网站框架图电商网站搭建
  • 爱站网工具包网页教程网站
  • 苏州代做淘宝网站北京 顺义 网站制作
  • 把网站扒下来以后怎么做拓者网室内设计官网app
  • 坪山网站建设渠道广东新闻频道直播
  • 哪个网站能学做微商怎么制作自己的水印
  • 有哪些网站做的比较好看的WordPress注册不提示
  • 新一代 网站备案抓好门户网站建设