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

    函数中this的指向是不确定的,只有在函数执行时才能确定,它指向调用该函数的对象

    var a = 'a'
    var b = 'b'
    function f(){
      console.log(this)  //window
      console.log(this.a) //a
      console.log(this.b) //b
      console.log(this.c) //undefined  this指向window,window中没有c
      var a = 'aa'
      b = 'bb'
      var c = 'cc'
      console.log(this.a) //a  函数中定义变量a,但是this.a为window.a 
      console.log(this.b)//bb    window中的变量b在函数体内被改变  
      console.log(this.c)   //undefined  this指向window,window中没有c
      console.log(window.a) //a
      console.log(window.b) // bb  window中的变量b在函数体内被改变
      console.log(window.c)  //undefined  this指向window,window中没有c

      console.log(a)  //aa
      console.log(b) //bb
      console.log(c)  //cc

    }
    f()

     这里调用函数f的对象是window,函数内部的this为window

    var o = {
        name: 'lll',
        getName:function(){
            console.log(this.name)
        }
    }
    o.getName()  // lll
    var m = o.getName
    m()    //此时this指向window
    

     构造函数

    function P(){
        this.name = 'ppp'
    }
    var p = new P()
    console.log(p.name)  

    new关键字改变this的指向

  • 相关阅读:
    第二阶段冲刺第七天
    学习进度表_十五周
    第二阶段冲刺第六天
    第二阶段冲刺第五天
    第二阶段冲刺第四天
    第二阶段冲刺第三天
    Beta阶段项目总结
    Alpha阶段项目总结
    第二次冲刺站立会议10
    第二次冲刺站立会议09
  • 原文地址:https://www.cnblogs.com/lhyhappy365/p/10365046.html
Copyright © 2011-2022 走看看