• 作用域


      在js代码执行前,浏览器会有一个全局环境叫window,在window下分为俩个模块

    一个为内存模块,一个为执行模块。

       内存模块会找到所有带var与function的关键字

       执行模块会一次从上到下查找

       如果找到var 这个变量,就看他有没有赋值,如果赋值就是那个值

       如果没有赋值就是undefined

       如果没有找到这个变量,就是is not defined

    作用域:浏览器给js的一个生存环境(栈内存)

    作用域链:函数内部的变量被使用时,首先会在他的私有作用域下查找,

          有没有这个变量,如果有就使用没有就向上查找,父级有

         就使用父级的,父级没有就继续向上查找,知道找到window

         window有就使用,没有就是is not defined

    this:this也是js的一个关键字,它就是一个替代,指定一个对象去替代它

    this又分为函数内的this与函数外的this:

       函数内的this是指向行为发生过的主体

       函数外的this是指向window

    列如:function.yangxiaorong(){

        consoloe.log(this)

    }

    杨.yangxiaorong 里边的杨就是这个函数的主体

    function.yangxiaorong(){

        consoloe.log(this)

    }

    yangxiaorong(window)

    因为浏览器在执行js代码时候,在执行到yangxiaorong的时候,查找到变量的归属为window

    函数内的this和函数在什么环境下定义都没有关系,跟自已的主体有关系

    主体:就是看这个函数(方法)带不带点,如果有this就指向点前面的,如果没有this就指向window

    自执行函数里的this都指向window

    ~function(){console.log(this)}()自执行

    给元素一个方法,绑定方法事件,触发时就执行绑定的方法,方法中的this指向当前元素

        

  • 相关阅读:
    spring boot-11.全局捕获异常
    spring boot-10.国际化
    spring boot-9.对springMVC的支持
    spring boot-8.静态资源映射
    spring boot-7.日志系统
    spring boot-6.profile 多环境支持
    spring boot-4.配置文件
    spring boot-3.原理探究
    【C/C++】产生随机数
    【C/C++】获取当前系统时间
  • 原文地址:https://www.cnblogs.com/yang08/p/9885379.html
Copyright © 2020-2023  润新知