第一步. 定义后:每个已定义函数,都有一个内在属性[scope],其对应一个对象的列表,列表中的对象仅能内部访问。
例如:建立一个全局函数A,那么A的[Scope]内部属性中只包含一个全局对象(Global Object),而如果我们在A中创建一个新的函数B,那么B的[Scope]属性中就包含两个对象,函数A的Activation Object对象在前面,全局对象(Global Object)排在后面。
简而言之,一个函数的[Scope]属性中对象列表的顺序是上一层函数的Activation Object对象,然后是上上层的,一直到最外层的全局对象。
第二步.执行时:当一个函数被执行的时候,会自动创建一个可以执行的对象(Execution Object),并同时绑定一个作用域链(Scope Chain)。作用域链会通过下面两个步骤来建立,用于进行标识符解析。
首先,将函数对象[Scope]内部属性中的对象,按顺序复制到作用域链Scope Chain中。
其次,在函数执行时,会创建一个新的Activation Object对象,这个对象中包含了this、参数(arguments)、局部变量(包括命名的参数)的定义,这个Activation Object对象会被置于作用域链的最前面。
所以在Scope Chain中最后顺序是本函数的Activation Object,然后是上层函数的Activation Object,再上上层的Activation Object,一直到Global Object。
当执行js代码的过程中,遇到一个标识符,就会根据标识符的名称,在执行上下文(Execution Context)的作用域链中进行搜索。从作用域链的第一个对象(该函数的Activation Object对象)开始,如果没有找到,就搜索作用域链中的下一个对象,如此往复,直到找到了标识符的定义。如果在搜索完作用域中的最后一个对象,也就是全局对象(Global Object)以后也没有找到,则会抛出一个错误,提示undefined。
由此而来的建议:
1. 尽量使用局部变量,这不仅仅是涉及到私有属性的问题,局部的变量从以上过程中可以看到,能够减少搜索的时间(注:在一般的情况下,不包括浏览器的优化行为)。
2. 避免使用with语句。因为它会修改执行上下文(Execution Context)的作用域链,在最前面添加一个对象(Variable Object)。同理,对于try-catch语句中的catch语句块也类似。
相关推荐:
Goanno跨级借鉴:推动创新与提升效率的秘密武器,崇明区智能ai艾灸费用
软件AI的全称:人工智能驱动未来的关键力量
用AI写文章,释放你的创作潜力!
WP原创:打造属于你的独特网站,从这里开始!,一个网站推广一个月需要多少钱
ChatGPT使用问题?如果您正在使用VPN,请尝试将其关闭,ai制作渐变立体
SEO搜外:全球搜索引擎优化的秘密武器,如何选择网站建设类型呢
AI自动读文:让阅读更轻松、更高效的智能革命,寄ai空
文章创作AI:引领智能写作的新时代
SEO引擎优化方法-让你的网站流量暴增的实战指南,ai智慧树
SEO添加:提升网站流量与排名的必备策略,seo团队成员中国人
怎么用AI生成文章免费版,高效创作从此开始!
如何用AI改文章,让写作更高效、精准,提升内容质量
AI缩写文档:革新文档管理与自动化的未来,ai聊天中文
怎么识别是AI写的文章
SEO总结:如何通过优化提升网站排名与流量,关键词排名消失
2024年AI写文章生成器推荐:让创作轻松高效,提升写作水平
SEO外链建设:提升网站排名的关键策略,ai偏执
如何查文章AI率?全面解析AI文章检测工具及技巧
OpenAIGPTChatSoraOpenAIChatGPT服务在中断数小时后已恢复,ai视图线稿
ChatGPT进不去怎么办?解决方案与技巧,轻松畅享智能对话,ai va
seo,seoul city ,ai精洗
SEO教研:数字营销新趋势,提升网站流量与转化率的关键,齐鲁证券网站建设
什么是seo在线咨询,什么是seo在线咨询服务 ,unreal ai
优化型网站:提升企业竞争力的必备利器,重庆网站推广工作如何
怎么用AI写文:让创作更轻松,效率翻倍
seo站内链接有什么作用,seo中网站内链的作用 ,781900ai
为什么seo推广那么多,seo推广难吗 ,东莞ai听译平台
seo读什么书,seo是哪个专业的 ,亚洲9ai吧
亚马逊中什么是seo,亚马逊sop ,ai临摹中国名画
什么是seo模型,seo模块总结 ,ai技术授课
SEO实现:如何通过SEO优化提升网站流量与排名,南京市公司网站推广
ChatGPT遇到问题?如何解决“您的应用遇到问题,无法正常启动”困境?,ai下载增强版
SEO网:让你的数字营销更加精准高效,开启网络引流新时代,丰县互联网网站推广优势
SEO专业怎么样?未来发展的无限潜力与职业前景,联通ai智能早教
AI免费工具:提升效率与创意的秘密武器
什么是seo寄生虫,寄生虫seo原理 ,AI 疫
打造内容创作新高度:文章扩写AI的革命性优势
SEO范例:如何通过优化提升网站流量,获取更多商机,广州抖音seo搜索广告
SEO抢权:如何在竞争激烈的市场中占得先机,正规网站建设口碑好
ChatGPT中文版下载,开启智能对话新体验,婚纱ai男
ChatGPT内部HTTP接口文档-为开发者提供高效便捷的AI服务接入方式,安屿ai
Bing搜索不能预览了?搜索引擎的新变革与挑战,ai制作一张窗花
SEO优化10种策略:提升网站排名的有效方法,帅气ai男头白底
ChatGPTWindows版本:让AI助手成为你的工作与生活得力助手,Ai相减变形
ChatGPT出现错误503?你需要知道的解决方案和应对策略,ai拉伸字效
为什么说seo这么重要,seo重要吗 ,ai19920403
ChatGPT不能用?揭秘你可能忽视的真相和解决方法,强国ai2022
揭开“好的AI软件”背后的秘密:让生活和工作更智能的利器
seo需要懂什么源码,seo需要懂什么源码技术 ,ai 纤维
SEO收费如何选择合适的SEO服务,提升网站排名并增加曝光度,做网站优化哪家实惠