闭包高级
    类似于作用域链,在函数返回一个函数的时候,会把外面的函数的作用域链[[socped]]放到全局上

    1. function test(){
    2. let a = 0
    3. return funtion test2(){
    4. console,log(a)
    5. }
    6. }
    7. let fn = test()
    8. fn() // 0

    对像

    1. let obj = {
    2. name:'Tc',
    3. age:25,
    4. teach:function (){
    5. console.log('i am teaching Js')
    6. },
    7. dirnk:function () {
    8. consloe.log('dirnk water')
    9. }
    10. }
    11. obj.eat = function (){
    12. console.log('eat something')
    13. }
    14. obj.sex = 'male'
    15. // 通过 Object.key = value 赋值
    16. //删除
    17. delete obj.sex
    18. delete obj.teach() // 这个执行了不会删除,还保存在obj中
    19. delete obj.teach // 这样才能删除

    构造函数

    1. function Fn (){
    2. this.name = 'fn name'
    3. this.sex = 'male'
    4. this.dirnk = function (){
    5. console.log('i am drinking')
    6. }
    7. }
    8. // 不执行不存在 只是在GO 声明一个Fn
    9. let getFn = new Fn()

    通过new 实例化 成一个对象