从品牌网站建设到网络营销策划,从策略到执行的一站式服务
小编给大家分享一下JavaScript中作用域链与执行环境是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
成都创新互联是一家集网站建设,阳曲企业网站建设,阳曲品牌网站建设,网站定制,阳曲网站建设报价,网络营销,网络优化,阳曲网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。每一个函数存在一个[[Scope]]内部属性,包含了一个函数被创建得作用域中对象得集合,这个集合为函数得作用域链。例如下面的全局函数:
fucntion add(num1, num2){ var sum = num1 + num2; return sum; }
当函数add被创建时,它的作用域链中便插入了一个对象变量,里面包含所有在全局范围内定义的变量。
函数add的作用域会在函数执行时用到,函数每次执行都会创建一个执行环境的内部对象,每个执行环境都有自己的作用域链。函数运行时,一个被称为活动对象的新对象就为执行环境创建好了,里面包含了函数的所有局部变量,命名参数,参数集合以及this。假设执行var total = add(5,10),其对应的作用域链如下:
函数执行过程中,变量的查找时从作用域头部开始查找,如果找到就是使用改变量的值。如果找不到就继续从作用域下一个对象查找,直到找到改变量。如过匹配不到,则为undefined。当频繁使用全局变量时,可以先使用一个局部变量保存起来,之后直接访问局部变量可以减少查找次数提高效率。例如:
function initUI(){ var doc = document, bd = doc.body, links = doc.getElementsByTagName("a"); .... }
当函数执行完成,活动对象也会随之销毁。但闭包时,活动对象并不会销毁。这也是为什么闭包占用内存大的原因。
以上是“JavaScript中作用域链与执行环境是什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联网站制作公司行业资讯频道!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图