0

我正在读一本书,我有 2 个 javascript 文件。两者都在 HTML 文件中:

<script src="playlist_store.js"></script>
<script src="playlist.js"></script>

但是,当我尝试从 playlist_store.js 调用 playlist.js 中的函数时,chrome 调试器说“未捕获的引用错误。未定义 loadPlaylist。loadPlaylist() 是 playlist_store.js 中的函数

我以为某处可能有错字,但我认为没有。playlist.js 是否真的需要以某种方式导入或包含/需要 playlist_store.js ?浏览器是否不够智能,无法以某种方式链接它们,以便您可以从另一个调用其中的功能?

4

1 回答 1

2

定义如下函数

function myaction () { }

是一个命名(私有)函数。
最好编写一个分配给变量的(私有)函数:

var myaction = function () { };

现在你需要的是一个函数,它被分配给全局对象中的一个变量:

myaction = function () { };
// or strict:
window.myaction = function () { };

它现在是一个全局(公共)函数,因此您可以在定义的 .js 之外使用它。

请注意第一个示例,函数语句没有分号。像在其他示例中一样使用函数运算符,您需要一个分号。

于 2012-11-09T17:25:39.647 回答