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

网站设计 西安asp网站怎么运行

网站设计 西安,asp网站怎么运行,宜昌网站排名优化,网站建设捌金手指下拉十九上节课我们已经说过了#xff0c;JavaScript的代码执行是发生在js引擎中的调用堆栈的#xff0c;但是具体是如何运行的#xff0c;我们来详细剖析一下 如何执行上下文 执行上下文#xff1a; 执行上下文是指在JavaScript中代码被执行时所创建的环境。它包含了变量、函数、…上节课我们已经说过了JavaScript的代码执行是发生在js引擎中的调用堆栈的但是具体是如何运行的我们来详细剖析一下 如何执行上下文 执行上下文 执行上下文是指在JavaScript中代码被执行时所创建的环境。它包含了变量、函数、对象和其他代码执行所需的信息。每当函数被调用时都会创建一个新的执行上下文。 举个例子 例如要把装披萨的盒子比作执行上下文披萨比作JavaScript的代码但是盒子里面可能并不只有披萨还有餐具和清单这样才能构建一个吃披萨执行代码的环境! 只有一个全局执行上下文(EC) 默认上下文为不在任何函数内的代码创建(顶级)。 顶级代码示例 声明的变量和声明的函数在全局中使用所以在顶级代码中就被执行但是函数内的代码只有在被调用的时候菜会执行 执行函数的内部 内部执行上下文 可变函数 a. let、const和var声明 b. 函数 c. 参数对象 作用域链 JavaScript的作用域链是一种用于查找变量和函数的机制。当在代码中引用一个变量时JavaScript引擎会按照一定的顺序搜索变量的定义。这个搜索过程就是通过作用域链来完成的。 在JavaScript中每个函数都有自己的执行上下文包括一个变量对象Variable Object它存储了函数内部定义的变量和函数。当函数被调用时会创建一个新的执行上下文并将其添加到作用域链的前端。 作用域链是一个由多个执行上下文对象组成的链表它按照函数定义的嵌套关系进行链接。每个执行上下文对象都有一个指向其父级执行上下文对象的引用这样就形成了一个作用域链。 当查找一个变量时JavaScript引擎首先在当前执行上下文的变量对象中查找如果找到了变量则使用该变量。如果没有找到则沿着作用域链向上一级执行上下文的变量对象中查找直到找到该变量或者到达作用域链的顶端全局作用域。 如果在整个作用域链上都没有找到该变量则会抛出一个引用错误。 这种作用域链的机制允许内部函数访问外部函数的变量即使外部函数已经执行完毕也仍然可以通过作用域链找到这些变量。这被称为闭包是JavaScript中非常强大和有用的特性之一。 this关键字 this关键字在JavaScript中是一个特殊的关键字它通常用于引用当前执行代码的上下文对象。 this关键字的值在不同的上下文中有不同的含义。它的值取决于函数的调用方式以及函数所属的对象。 在全局作用域中this引用的是全局对象在浏览器中是window对象在Node.js中是global对象。 在函数中this的值取决于函数是如何被调用的。如果函数是作为对象的方法调用的那么this引用的是该对象。如果函数是作为普通函数调用的那么this引用的是全局对象在浏览器中是window对象在Node.js中是global对象。 此外“this还可以通过一些特殊的函数调用方式来显式地绑定到指定的对象上例如使用call”、apply或bind方法。 总之this关键字在JavaScript中用于引用当前执行代码的上下文对象它的值取决于函数的调用方式以及函数所属的对象。 举例说明 函数调用栈 “位置”执行上下文被堆叠在一起以跟踪我们在执行中的位置。 示例 const name Jonas;const first () {let a 1;const b second(7, 9);a a b;return a; };function second(x, y) {var c 2;return c; }const x first();首先让我们逐行解释这段代码的执行过程以了解函数调用栈的原理是如何应用的 const name ‘Jonas’; - 这行代码定义了一个常量name并赋值为字符串’Jonas’。这行代码不涉及函数调用因此不会影响函数调用栈。在全局代码中就会执行const first () { … } - 这行代码定义了一个箭头函数first。箭头函数不会立即执行而是在被调用时才执行。因此此时不会有函数调用栈的变化。function second(x, y) { … } - 这行代码定义了一个名为second的函数。函数定义本身不会改变函数调用栈只有在函数被调用时才会推入调用栈。const x first(); - 这行代码调用了函数first并将其返回值赋给常量x。函数调用会改变函数调用栈的状态。 现在我们来分析函数调用栈的变化const x first(); - 这行代码调用了函数first将其推入函数调用栈的顶部。const b second(7, 9); - 在函数first中调用了函数second将其推入函数调用栈的顶部。return c; - 函数second执行完毕将其执行结果返回给调用者first。a a b; - 在函数first中将变量b的值加到变量a上。return a; - 函数first执行完毕将其执行结果返回给调用者。const x first(); - 函数调用栈中只剩下全局上下文函数调用栈为空。 最终常量x的值为3因为函数first的执行结果是3。 这个例子展示了函数调用栈的典型行为当一个函数被调用时它的执行上下文被推入调用栈的顶部函数执行完毕后它的执行上下文从调用栈中弹出控制权返回给调用者。这个过程会一直重复直到所有函数执行完毕调用栈为空。
http://www.yutouwan.com/news/329402/

相关文章:

  • 网站程序开发制作十大品牌快手服务商平台
  • 校园网站建设意见广东品牌网站建设968
  • 网站ie兼容性差销售做网站
  • 创建网站公司好公司网站怎么做推广
  • 西安外贸建站郑州手机端建站模板
  • 网站建设 工具WordPress文章添加版权信息
  • 什么网站是做汽车装饰配件的dw做音乐网站
  • 卖机械设备什么网站做推广好seo流量排名工具
  • 关键词小说福州短视频seo排行
  • 公司网站建设怎么选择wordpress 安装启动
  • 干净的下载网站做啥英文网站赚钱
  • 网站备案安全承诺书做网站怎么租个空间
  • 和黑人做网站福州网站制作费用
  • 电子商务网站建设与维护期末考试做seo网站图片怎么优化
  • 重庆网站空间主机评价海珠区建设和水务局网站
  • 网站建设的实践体会福永网站设计多少钱
  • 企业网站 价格藁城网络推广
  • 盈江城乡建设局网站网站开发面试题
  • 房山区做网站网站投票链接怎么做的
  • 神网站建设海报图片怎么设计制作
  • 免费漫画网站企业宣传册模板
  • 网站建设与管理专业好吗做打折网站如何
  • json做网站微信商城怎么开发
  • 最专业 汽车网站建设做平面设计买哪个素材网站会员
  • delphi做网站开发网站打开wordpress
  • 网站建设技术培训学校包头网站建设SEO优化制作设计公司
  • 做网站买主机还是服务器个人建网站成本
  • 专业的购物网站建设软件项目和网站建设的区别
  • 网站平台建设框架建设网站工具
  • 智云鸟网站建设中英文网站怎么实现