gpt4 book ai didi

javascript - `function go()` 与 `go = function()`

转载 作者:行者123 更新时间:2023-12-03 11:17:37 26 4
gpt4 key购买 nike

我遇到了一些 Javascript 似乎很愚蠢的问题:

go = function () {
alert("Go!");
}

$(function () {
go();
});

当页面加载时出现错误:

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; .NAP 1.1) Timestamp: Thu, 17 Mar 2011 20:18:03 UTC

Message: Object doesn't support this property or method Line: 1 Char: 1 Code: 0 URI: http://localhost:61710/Scripts/number.js

当我将 go 初始值设定项更改为:

function go() {
alert("Go!");
}

...一切正常。

我错过了什么?此外,是否有理由使用一种形式的函数初始化器而不是另一种?

编辑:当我使用内置的 Visual Studio Web 服务器在 IE8 实例中运行代码时出现此错误(无需调试即可开始)。当我在没有 Visual Studio 的 IE8 单独实例中运行代码时,它工作得很好。也许 Visual Studio 强制 IE 使用更严格的 JS 编译器设置?

最佳答案

你应该先声明变量:

var go = function () {
alert("Go!");
}

使用这种形式的一个原因是它可以帮助避免您的函数污染全局命名空间(请参阅此概念的示例 here)。

关于javascript - `function go()` 与 `go = function()`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5344788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com