JavaScript 函数在函数内部重写自身,它在幕后是如何工作的

javascript function rewrite itself inside function how does it work behind the scene?

本文关键字:函数 何工作 工作 重写 内部 JavaScript      更新时间:2023-09-26

这是我已经尝试过的一些代码

function myFunc(){
    alert("3");
    myFunc = function (){
        alert("something else");
    }

}

我想了解JavaScript中幕后发生的事情

当我执行myFunc它的警报 2 时,当我执行它时,第二个警报"something else".当这个myFunc被称为函数如何从函数内部重写自身时,幕后发生了什么?

myFunc位于全局命名空间中,因此您可以重新定义它,当您使用 myFunc = function() ... 为其分配新函数时会发生这种情况。

函数是对象,因此可以随着时间的推移分配新的定义。如果您想阻止函数再次运行,您甚至可以设置myFunc = undefined;

你只是第二次重新声明函数。

在页面加载时,您声明警报 3 myFunc()
当你执行myFunc()时,你声明了一个新函数来提醒"其他东西";