美文网首页
函数this调用

函数this调用

作者: 真是个非常帅气的昵称呢 | 来源:发表于2019-10-09 10:45 被阅读0次

函数一共有6种调用方式

    // 1.普通函数调用,this指向window
    function fn(){
      console.log('被调用了',this)
    }
    fn()
    // 2.定时器函数,this指向window
    setTimeout(function(){
      console.log('定时器')
    },1000)
    // 3.立即执行函数,this指向window
    (function(){
      console.log('立即执行',this)
    })()
    // 4.对象方法调用,this指向该方法所属对象
    var obj={
      say:function(){
        console.log('对象方法调用',this)
      }
    }
    // 5.构造函数调用,this指向实例对象,原型对象里的方法也指向实例对象
    function Person(){
      console.log('构造函数'+this)
    }
    Person.prototype.eat=function(){
      console.log('构造函数原型对象'+this)
    }
    var p=new Person()
    p.eat()
    // 6.绑定事件函数,this指向绑定事件对象
    btn.onclick=function(){    }

严格模式下this的指向问题

1.以前在全局作用域函数中的this指向window;严格模式下this指向undefined
2.以前构造函数不加new也可以调用,当做普通函数,this指向全局对象;严格模式下,如果不加new调用构造函数,this会报错
3.new实例化的构造函数只想创建的对象实例
4.定时器this还是指向window
5.事件、对象还是指向调用者

相关文章

  • JS函数调用

    js 里函数调用有4种模式:方法调用、正常函数调用、构造器函数调用、apply/call 调用。无论哪种函数调用除...

  • [转载]JavaScript权威指南(8)--函数

    文章前言 一 函数定义 二 函数调用 1,函数调用 2,方法调用 3,构造函数调用 4,间接调用 三 函数的实参和...

  • 【Solidity学习笔记】外部函数的调用

    3.8 外部函数的调用 在Solidity中,有两种函数调用:内部函数调用和外部函数调用。内部函数调用是指一个函数...

  • js里函数调用的四种模式

    js 里函数调用有4种模式:方法调用、正常函数调用、构造器函数调用、apply/call调用。同时,无论哪种函数调...

  • Nodejs学习笔记-函数

    调用本地函数调用外部函数-支持一个函数调用外部函数-支持多个函数字符串方式调用函数 代码:https://gith...

  • 内联函数

    解决函数调用效率的问题:函数之间调用,是内存地址之间的调用,当函数调用完毕之后还会返回原来函数执行的地址。函数调用...

  • Python学习(二)

    函数 python内置了很多函数可以直接被调用,可以从官方文档查阅内置的函数. 函数调用 调用abs()函数 函数...

  • JavaScript函数的四种调用模式

    函数调用模式 单独独立调用的就是函数:函数名(参数) 任何自调用函数都是函数模式 this表示全局变量 方法调用模...

  • 递归为什么会导致栈溢出

    下面来看一下,函数是如何调用的,在函数A里调用函数B,我们称A为调用者函数,B是被调用函数。每一次函数的调用,都会...

  • 2017-03-31 面向对象学习笔记

    函数的调用方式和 this 丢失 函数调用方式 普通函数方式调用 this - window 对象的...

网友评论

      本文标题:函数this调用

      本文链接:https://www.haomeiwen.com/subject/gnuyuctx.html