执行从内到外找
具体步骤:
0: 函数运行前的1瞬间, 生成 Active Object (活动对象),下称AO
1:
1.1 函数声明的形参,形成AO的属性,值全是undefined,...不管被调用函数,声明时属于方法,还是函数
3:函数作为构造函数调用时
JS没有类的概念,常见对象是用构造函数来完成的,或者直接使用json格式来写对象
new Dog发生了以下几个步骤
系统创建空对象...在js中, age = 20这个变量,却被t2捕捉,
即使t1执行完毕,通过t2,依然能访问该变量
这种情况---返回的函数,并非孤立的函数,甚至把其周围的变量环境,
形成了一封闭的"环境包",共同返回..., 所以叫"闭包"
----一句话概括-----函数的作用域取决于声明时,而不取决于调用时
JS对象的特点
在js中,有对象,没有类(但有构造函数), JS中的对象,不依赖于类而存在,
支持任意添加和删除属性...JS封装
通过闭包来完成js面向对象的私有属性与封装
?