JavaScript中关于环境对象的拓展

1.环境对象的定义

环境对象指的是函数内的特殊变量this,this指向函数的调用者它代表当前函数的运行环境

在平常我们判断this经常用口诀谁调用它,它就指向谁,以下是几种常见情况

  1. 在全局作用域中,this指向window

   2.在函数中,他也指向他的调用者,如果是用函数名调用,则相当于window调用该函数,所以this指向window,如果是作为对象的方法调用时指向该对象

function fn() {
            console.log(1)
        }
        fn()//指向window

 

onst obj = {
    name: "Alice",
    greet: function() {
        console.log(`Hello, ${this.name}!`);
    }
};

obj.greet();

 3. 在构造函数new..,this指向正在 创建的新对象

function Person(name) {
    this.name = name;
}

const alice = new Person("Alice");
console.log(alice.name); 

   4.在监听事件中,this指向事件源

 const div = document.querySelector('div')
        div.addEventListener('click',function(){
            console.log(1)
            //此时this指向div
        })

5.箭头函数没有自己的this,它的this继承于外层作用域

2.构造函数

构造函数是一种特殊的函数,用于创建和初始化对象。

构造函数通常以大写字母开头,通过new调用

而用new调用构造函数创建一个新的对象的过程

1.创建一个新的对象

2.将this绑定到新对象上

3.初始化对象的属性/方法(函数)

4。返回这个新对象

function Person(name, age) {
    this.name = name;
    this.age = age;
    this.greet = function() {
        console.log(`Hello, I'm ${this.name}!`);
    };
}

// 使用 new 创建实例
const alice = new Person("Alice", 25);
alice.greet(); // 输出: Hello, I'm Alice!

在日常写代码时弄清楚这俩样东西能为我们写代码带来很大的便利。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值