zoukankan      html  css  js  c++  java
  • this指向

      情况1:如果一个函数中有this,但是它没有被上一级的对象所调用,那么this指向的就是window,这里需要说明的是在js的严格版中this指向的不是window,但是我们这里不探讨严格版的问题,你想了解可以自行上网查找。

      情况2:如果一个函数中有this,这个函数有被上一级的对象所调用,那么this指向的就是上一级的对象。

      情况3:如果一个函数中有this,这个函数中包含多个对象,尽管这个函数是被最外层的对象所调用,this指向的也只是它上一级的对象

        

    es6 中箭头函数的this指向

      箭头函数的this是在定义函数时绑定的,不是在执行过程中绑定的。简单的说,函数在定义时,this就继承了定义函数的对象

        

    var a = {
            fn(){
                setTimeout(()=>{
                    console.log(this)
                })
            }
        }
        var fn = a.fn
        fn() //此时 指向window

       call()  apply() bind() 改变this 指向

      call()和apply()的区别是 传参方式不一样 第一个参数是指向谁  第二个参数apply要传数组 call 传字符串

      call(null)指向window

      

    //求数组的最大值
    var arr = [1,2,3,4,7,34,8]     
    var max=Math.max.apply(null,arr)  //34   Math.max()参数不能为数组
    //求数组的最小值
    var max=Math.min.apply(null,arr)  //1 

      Object.prototype.toString.call({}); //"[object Object]"

      Object.prototype.toString.call([]);  //"[object Array]"

     

          

     
  • 相关阅读:
    DELL(linux 系统里系统掉盘)(阵列Foreign)命令行里重做阵列
    MegaCli 管理raid
    Linux下DNS服务器
    Linux 系统用户密码长度以及复杂度进行限制 PAM
    Linux 用户密码有效期
    Linux服务器系统安全
    整理sql数据
    简单的shell脚本-程序启停
    spring 获取bean的方法
    git 使用squid设置http代理
  • 原文地址:https://www.cnblogs.com/jshe/p/12431223.html
Copyright © 2011-2022 走看看