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

自己做的网站添加交费功能跨境电商平台排名榜

自己做的网站添加交费功能,跨境电商平台排名榜,网站后台 搜索,qt做网站服务器在深入探讨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.laogonggong.com/news/129482.html

相关文章:

  • 免费logo设计工具班级优化大师电脑版
  • 个人网站怎么做内容比较好网站在百度上做推广怎样做
  • 公司核名在哪个官方网站泰安市最新消息
  • 海门市建设局网站申请公司
  • 公司在百度做网站找谁参考消息电子版官网
  • 聊天网站开发wordpress 搬家 mysql
  • 私自使用他人图片做网站宣传网络营销岗位技能
  • 建设局网站信息管理制度做网站必须要切图吗
  • 做期货看那个网站比较专业深圳市宝安区松岗邮政编码
  • 阿里云t5做网站oppo应用市场下载
  • 网站备案接入服务单位上海二手房
  • 网站建设服务费的税收分类人才网站开发文档
  • 泰州企业建站系统五大建设是指什么
  • 做网站时联系我们制作模板天津整站
  • 购物网站前台功能模块分析河南营销网站建设联系方式
  • 朝阳区网站建设君和江门seo排名优化
  • 百度学术论文查重免费深圳制作网站搜行者seo
  • 网站优化 价格查询营销网站建设818gx
  • 网站开发公司飞沐营口建设信息网站
  • 关于自己公司的网站怎么做济南住房和房产信息网
  • 谁有做开档棉裤的网站啊域名注册价格
  • 常州网站推广排名肇庆企业自助建站
  • 建设网站的市场定位织梦网站底部黑链
  • 山东省住房和城乡建设局网站首页网站做301好不好
  • wordpress 卸载插件南昌网络排名优化
  • 网站在百度上搜不到微官网怎么开通使用
  • 农场理财网站建设导视设计报价
  • 百度验证网站的好处发布程序后网站有很多
  • 做网站几天能学会最新最好的磁力搜索
  • 定制专业网站杨家坪网站建设