0720-面向对象的特点 原型链

2017-07-20  本文已影响0人  Chevy_Guo

预解释分析规律

1)预解释
2)代码从上到下的执行;
3)当我们遇到"函数定义阶段"的时候,不管,因为在预解释阶段,函数已经声明+定义过了;
4)当我们遇到"函数调用阶段"的时候
+ 形成私有作用域
+ 形参赋值
+ 预解释
+ 代码从上到下的执行
注意:在函数调用,一定要/顺带写上"该函数对应的内存地址",因为找上级作用域的时候要用到

关注

1、内存和内存释放:
1)不释放 i i++
2)不立即释放
3)就释放:一点私有作用域得到释放,函数的每次调用之间,没有任何关系;
2、预解释无节操
1、 只对等号左边带var的,声明但不定义
2、 声明过的不会进行重复声明,但会重新赋值;
3、 自执行函数不会进行预解释,只有执行到的他的时候,声明+定义+调用同步完成
4、 (针对IE10及10以下) 条件判断语句中,无论条件是否成立,都会进行预解释
5、 return后面的语句,不会进行预解释;return下面的语句,虽然不执行,但会进行预解释;
3、this
1、 当函数被调用的以后,看前面是否有".",点前面是谁,this就是谁;
2、 当元素身上的事件,被触发的时候,会执行一个函数,函数中的this,指向当前这个元素
3、 自执行函数中的this-window;
4、 回调函数中的this,一般是window;
5、 构造函数中的this,都是实例;
4、带var和不带var
1、带var:1)会预解释 2)在私有作用域下,是私有变量
2、不带var:1)不会预解释 2)在私有作用域下,是window的全局属性;
5、 运算符的优先级

////////////////////

对象2大特征:1)属性 2)方法

面向对象的特点

面试对象设计思想

原型链

我们查找"对象.属性名,"的时候
1、先从实例的私有属性开始查找,如果找到,说明该属性是私有属性
2、如果没找到,通过proto,去当前实例所属的类的原型上进行查找,找到,说明是公有属性
3、如果没找到,继续通过proto继续往上找,一直找到Object.prototype上还没有的话,undefined!

上一篇下一篇

猜你喜欢

热点阅读