函数指针this和垃圾回收(GC)

函数指针this

解析器在调用函数每次都会向函数内部传递进一个隐含的参数,
这个隐含的参数就是this,this指向的是一个对象,
这个对象我们称为函数执行的上下文对象,
根据函数的调用方式的不同,this会指向不同的对象

1.以函数的形式调用时,this永远都是window
2.以方法的形式调用时,this就是调用方法的那个对象(谁调用指向谁)

var name = "全局";
function fun(){
    console.log(this.name);
    //console.log(name);后面无论怎么调用都只会出现“全局”
    //console.log(obj1.name);不够灵活
}
var obj1 = {
    name:"abc",
    sayName:fun
};
var obj2 = {
    name:"efg",
    sayName:fun
};
obj1.sayName();

垃圾回收(GC)

程序运行过程中会产生垃圾,导致程序运行变慢。
所以我们需要一个垃圾回收的机制,来处理程序运行过程中产生垃圾

  • 当一个对象没有任何的变量或属性对它进行引用,此时我们将永远无法操作该对象,
    此时这种对象就是一个垃圾, 这种对象过多会占用大量的内存空间,导致程序运行变慢

  • 在JS中拥有自动的垃圾回收机制,会自动将这些垃圾对象从内存中销毁,
    我们不需要也不能进行垃圾回收的操作

  • 我们需要做的只是要将不再使用的对象设置null即可

posted @ 2022-01-16 18:37  苏槿年  阅读(39)  评论(0编辑  收藏  举报