3

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

function myFunc(){

    alert("3");

    myFunc = function (){

        alert("something else");

    }


}

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

当我执行myFunc它的警报 2 和第二个当我执行它警报时"something else"。当调用 this 时,幕后发生了什么myFunc函数如何从函数内部重写自身?

4

2 回答 2

5

myFunc位于全局命名空间中,因此您可以重新定义它,当您使用myFunc = function() ....

函数是对象,因此可以随着时间的推移被赋予新的定义。您甚至可以设置myFunc = undefined;是否要阻止该功能再次运行。

于 2013-10-04T07:10:09.197 回答
1

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

在页面加载时,您声明myFunc()了哪些警报 3.
当您执行时myFunc(),您声明了一个新函数,它会提醒“其他东西”;

于 2013-10-04T07:09:52.283 回答