变量

最近在朋友强烈的请求下,陪他看了部电影,就讲的哪吒的故事,结果却出乎意料的好看,画面和情感的表达十分到位,确实非常棒。
多的不说,先讲讲变量,在我们的变量中一般都有两个变量,一个是全局变量,一个是局部变量,两个变量都有自己的优势和自己的缺点。
在全局变量中,全局作用域window,它能随处可见,也能反复使用,但是有全局污染的缺点。局部变量中,局部变量(AO:Action Object),它仅仅能在函数内使用,不可以反复使用。
函数的生命周期一般分为四个步骤,第一是开始执行前,也就是生命提前阶段。先是创建环境栈或者数组,临时的保存正在执行的函数的执行环境,也能向执行环境中添加第一个默认的程序main(),该方法创建出一个全局作用域的对象window。
我们在定义函数时,要创建函数的对象,封装函数的定义,然后在声明函数的变量,引用了函数的对象,然后函数对象的scope属性引用回,再创建函数时的作用域。
再调用函数的时候,我们要在ECS中加入一个新的元素(也就是执行环境)用来记录新函数的调用,然后再创建一个活动对象,并且保存本次调用用到的局部变量(也就是函数的参数,在函数体内使用var关键字声明的数据)。ESC中的新执行环境元素 ,引用活动对象。活动对象中的parent属性引用函数的scope指向的父级作用域对象,它的作用是能够使执行过程中优先使用活动对象中的局部变量,局部中没有,才延着parent向父级作用域找。
调用函数之后,再执行环境栈中本次函数的执行环境出栈,同时导致局变量一同释放。
右多级作用域连续引用形成的链式结果就导致了作用域链,它掌握着一切变量的使用顺序,现在局部照,没有则延续作用域向父级作用域中找。
重载就是相同的函数名,在不同的参数列表中的多个函数,我们一般在调用时,可以根据传入的参数的不同,自动的选择对用的函数调用。一个函数名,执行多个操作。所以当一个任务,根据不同的参数来执行不同的操作流程的时候,我们就可以用重载来进行。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值