JavaScript 进阶营

二、JavaScript——this用法,理解

2019-08-12  本文已影响0人  陈程城

f12 打开浏览器控制台

一、this 概念

当前执行代码的环境对象

粗暴理解:this 就是个对象

二、多种情况

(一). 全局环境中

在全局执行环境中(在任何函数体外部)this指向[1]全局对象。

console.log(this)
// window

(二). 函数内部

(划重点,划重点,划重点,划重点,划重点,划重点)

1. 简单调用

this指向window

function haha(){
  console.log(this)
}
haha()
// window

个人理解

2. 作为对象的方法

var hahaObject = {
  hahaName:'l名字',
  hahaMethod:function(){
    console.log(this)
  }
}
hahaObject.hahaMethod() // hahaObject调用了hahaMethod这个函数
//{hahaName: "l名字", hahaMethod: ƒ}

函数是个单独的值,所以函数可以在不同的环境中执行

函数hahaMethod在栈中其实存的就是指向内存的一个地址

这个内存存了

函数hahaMethod赋值给了a这个变量

a获得函数hahaMethod的地址

a就变成了window对象下的一个函数


GitHub

:book:《web_knowledge_hierarchy》

参考文章

阮一峰——《Javascript 的 this 用法》


  1. this是个对象,对象存在里的只是一个指向内存地址

上一篇下一篇

猜你喜欢

热点阅读