欢迎光临,了解微信小程序开发,就上易用通!

【新手入门】javascript新手学习第九课

发布:2018-01-24 15:24浏览: 来源:网络 作者:tianshu

什么是this,this就是这个,其实在javascript中this挺迷惑人的,谁知道特么this到哪一个了,那么,上代码
  1. var a=1;
  2.         var b={
  3.             a:0,
  4.             c:(function(){
  5.                 this.a=2;
  6.                 a=7;
  7.                 console.log("this.a"+this.a);               
  8.                 console.log("第一层"+a);
  9.                 return function(){
  10.                     console.log("第二层"+a);
  11.                     return this.a=4;                                                
  12.                 }
  13.             })()
  14.         };
  15.         console.log("全局"+a);
  16.         console.log("返回值"+b.c());


直接复制了控制台输出

  1. [Web浏览器] "this.a2"  /HelloHBuilder/index.html (22)
  2. [Web浏览器] "第一层7" /HelloHBuilder/index.html (23)
  3. [Web浏览器] "全局7"  /HelloHBuilder/index.html (30)
  4. [Web浏览器] "第二层7" /HelloHBuilder/index.html (25)
  5. [Web浏览器] "返回值4" /HelloHBuilder/index.html (31)
通过对比我们可以发现,一个函数内,使用var的变量是局部变量,不使用var的变量则会从上一级作用域里获取,而this只能获取到当前作用域内的相关变量
所以this又相当于指向的是当前对象
通过对象来调用函数,this指向了对象,如果把对象的函数变成变量,这个变量属于全局,this指向了window如
  1. function b(){
  2.        return this;
  3.     }
  4.     var a=b();  
  5.     console.log(a)//[object Window]
 




免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。