我尝试通过以下方式从标记调用函数:

<form onsibmit="actualizeTextFields()">
    <!-- Form's stuff -->
</form>


其中功能定义如下:

window.onload = function actualizeTextFields(){
    //some stuff
};


而且它没有用。我以为将名称realizeizeTextFields添加到全局Environment record中。为什么不是真的?

最佳答案

命名函数表达式只能在其自己的作用域内创建与它们的名称匹配的变量(由于错误,在旧版本的Internet Explorer中除外)。

函数声明将在当前作用域中创建变量。

您可以将代码重写为:

function actualizeTextFields(){
    //some stuff
};
window.onload = actualizeTextFields;


要么

function actualizeTextFields(){
    //some stuff
};
window.addEventListener('load', actualizeTextFields);

09-19 06:41