Javascript 外部js如何工作??从我';我已经读过这篇文章了,为什么不';不是吗?

Javascript 外部js如何工作??从我';我已经读过这篇文章了,为什么不';不是吗?,javascript,Javascript,我在理解外部javascript页面的变量范围时遇到了一个非常简单的问题。从我读到的,如果我调用一个外部工作表,所有全局函数和变量都应该能够被访问。我似乎无法让它工作。知道搜索时要问的正确问题是很难的,我可以在互联网上搜索几天,寻找一个可能有人可以简单快速地解释的问题。我在本教程中看到了一些类似的东西,我很快就找到了:即使在我写这篇文章的时候,我也在寻找答案 我只是在同一个目录中有一个外部工作表,文件名是trial.js。然后我有一个index.html,它只是试图使用从external tri

我在理解外部javascript页面的变量范围时遇到了一个非常简单的问题。从我读到的,如果我调用一个外部工作表,所有全局函数和变量都应该能够被访问。我似乎无法让它工作。知道搜索时要问的正确问题是很难的,我可以在互联网上搜索几天,寻找一个可能有人可以简单快速地解释的问题。我在本教程中看到了一些类似的东西,我很快就找到了:即使在我写这篇文章的时候,我也在寻找答案


我只是在同一个目录中有一个外部工作表,文件名是trial.js。然后我有一个index.html,它只是试图使用从external trial.js到index页面的全局函数。这是可能的吗?根据tizag教程,使用按钮onclick属性中的函数。还有很多框架也是基于这个原则工作的,对吗?虽然我知道他们使用$(a)有点复杂,但我不确定,但我认为在“资源”之前不应该有a/的。例如,“资源/myscript”将起作用。另外,如果“trial.js”与“index.html”位于同一目录中,那么您就不需要“Resources/”

我刚刚在Apache上测试了这个功能,它工作正常,假设您的外部JavaScript文件位于名为resource的文件夹中。

这看起来应该很好,所以我复制了您的代码,它对我有效。我做的一个更改是删除脚本src中的第一个斜杠,因为我的“资源”文件夹不在站点根目录中。确实加载了js文件吗?

您的脚本源标记指向resource/trial.js,但根据您的问题,它位于localhost/trial.js?这仅仅是一个输入错误吗?在浏览器开发工具的网络面板中检查文件是否正确加载。如果是这样的话,它应该会起作用。不,
$(a)
不是什么特别的东西。
$
只是一个具有(奇数?)短名称的全局变量,其值是一个函数。你可以做
$=trySomething
然后调用
$()
。您的示例没有问题。根据教程,任何调用全局函数的脚本都可以访问全局函数(尽管教程页面在
onclick
属性中使用了全局函数,这已不再是一种流行的技术)。对于/resource/I,我的意思是尽可能简单地回答这个问题。我修复了它,但仍然没有在页面加载时收到警报。现在我尝试了Chrome、Firefox和IE。
/
是有效的,特别是如果脚本位于localhost/resource/trial.js;这只是解决这个问题的正确与否。
'Resources'
与大多数常见情况下的
'Resources'
不同。更明显的是,
'resource'
'resources'
不同。我的打字错误我被带到了同一个文件夹并检查了我的呼叫我在页面上的编辑仍然不能在本地工作,但在发布的环境中似乎工作得很好。在这个测试/堆栈中它确实工作得很好。知道为什么它不能在本地工作吗?我已经清除了我的javascript历史记录,并将文件重命名为trial1.js,并对仍然不能在本地主机中工作的文件进行了必要的更改。。。我只是想补充一点,也许有人能帮我找出问题所在。现在突然有事情发生了。但如果你没有让我看到它是通过在一个公开的阶段提供它来工作的,我就不会强迫它通过。似乎我将不得不习惯于没有断点和堆栈错误来保存我。。。这是令人畏惧的。我不能投票,否则我会+1这个。非常感谢。
function trySomething(){
    alert("trying");
}
<html>
<head>
<title>Objects222</title>
<script src="trial.js"></script>
</head>
<body>
    <script type="text/javascript">
        trySomething();
    </script>
    Hello
</body>
</html>