zoukankan      html  css  js  c++  java
  • 23)

    Javascript中级

    1.作用域链:

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

      作用域链:js中的关键字,var和function都可以提前声明和定义,提前声明和定义的放在我们的内存地址(堆内存)中。然后js从上到下逐层执行,遇到变量就去内存地址查找是否存在这个变量,有就使用,没有就继续向父级作用域查找直到window下结束,这种查找机制叫作用域链。

      js代码中存在着大量的变量跟函数

    2.This、

      1.this是js的一个关键字,指定一个对象然后去代替他

        函数内的this——函数外的this

        函数内this:指向行为发生的主体  函数外this:指向window没有意义

             function  chifan(){

                      console.log(this)

                      }

                banzhang.chifan()      banzhang就是这个函数的主体

        2. 函数内的this和函数在什么环境下定义没有关系,只和自己的主体有关。

        3. 主体怎么找?

            就看这个函数(方法)带不带 . 

            如果函数和方法执行带 .  那么this就指向 . 前面的对象 、

            如果不带 .   就指向window

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

            this和变量面试题,先找this的主体是谁,然后把它换成那个主体

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

            function  fn(){

                console.log(this)

                    }  

            document.getElementById(“div”). onclick=function(){

                          console.log(this)        ||  div   

                          fn()                || window

                                    }

            document.getElementById(“div”). onclick=fn;

    重点是函数套用的时候:

        不管他怎么定义,就看他执行时候的主体

     1.怎样查找变量和函数的归属

     2.怎样查找this的指向

          函数内部的this跟函数在哪定义没有关系,只跟在执行时的主体有关

          带. 的主体就是 . 前面的对象;不带 . 就是window

  • 相关阅读:
    理解C#中的 async await
    kube-proxy IPVS 模式的工作原理
    Kilo 使用教程
    Wireguard 全互联模式(full mesh)配置指南
    我为什么不鼓吹 WireGuard
    iTerm2 实现 ssh 自动登录,并使用 Zmodem 实现快速传输文件
    在 Docker Desktop 中启用 K8s 服务
    ABP 适用性改造
    ABP 适用性改造
    在 ASP.NET Core 应用中使用 Cookie 进行身份认证
  • 原文地址:https://www.cnblogs.com/xiaotaiyangye/p/9885818.html
Copyright © 2011-2022 走看看