博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js中this的指向
阅读量:7087 次
发布时间:2019-06-28

本文共 954 字,大约阅读时间需要 3 分钟。

函数中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()  // lllvar m = o.getNamem()    //此时this指向window

 构造函数

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

new关键字改变this的指向

 

转载于:https://www.cnblogs.com/lhyhappy365/p/10365046.html

你可能感兴趣的文章
Minimum Inversion Number
查看>>
Line belt
查看>>
captive portal
查看>>
Let's encrypt申请泛域名证书以及报错处理
查看>>
centos6.5 安装jdk7和tomcat7
查看>>
linux 的diff 命令
查看>>
蜘蛛纸牌存档文件,修改分数
查看>>
【5】标题上的小logo
查看>>
jvm内存设置及总结
查看>>
mysql基本数据类型(mysql学习笔记三)
查看>>
mongo数据删除和游标
查看>>
[原]Unity3D深入浅出 - 认识开发环境中的Layers面板
查看>>
【leetcode】719. Find K-th Smallest Pair Distance
查看>>
jmeter使用csv传参进行并发测试验证
查看>>
Laravel踩坑笔记——illuminate/html被抛弃
查看>>
C++的重载(overload)与重写(override)
查看>>
android 常用的代码段整理 不断更新
查看>>
Android Tips
查看>>
lunix MySQL的卸载 过程随笔
查看>>
【DFS】UVa10129 - Play on Words
查看>>