Javascript 如何在外部运行此代码?

Javascript 如何在外部运行此代码?,javascript,Javascript,Javascript代码嵌入到HTML中,但希望在外部链接到JS脚本,而不是在HTML中 但我最终会遇到一些全局或局部变量问题,函数在定义之前就已经运行了 对这个问题有什么帮助吗 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="en"> <head> <title>JavaScript label example</title> <style&g

Javascript代码嵌入到HTML中,但希望在外部链接到JS脚本,而不是在HTML中 但我最终会遇到一些全局或局部变量问题,函数在定义之前就已经运行了

对这个问题有什么帮助吗

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<head>
  <title>JavaScript label example</title>
  <style>
    p {
      font-family: 'helvetica neue', helvetica, sans-serif;
      letter-spacing: 1px;
      text-transform: uppercase;
      text-align: center;
      border: 2px solid rgba(0,0,200,0.6);
      background: rgba(0,0,200,0.3);
      color: rgba(0,0,200,0.6);
      box-shadow: 1px 1px 2px rgba(0,0,200,0.4);
      border-radius: 10px;
      padding: 3px 10px;
      display: inline-block;
      cursor: pointer;
    }
  </style>
</head>
<body>
  <p>Player 1: Chris</p>
</body>
<script>
var para = document.querySelector('p');
para.addEventListener('click', updateName);
function updateName() {
  var name = prompt('Enter a new name');
  para.textContent = 'Player 1: ' + name;
}
</script>

</html>

JavaScript标签示例
p{
字体系列:“helvetica neue”,helvetica,无衬线;
字母间距:1px;
文本转换:大写;
文本对齐:居中;
边框:2倍实心rgba(0,0200,0.6);
背景:rgba(0,0200,0.3);
颜色:rgba(0,0200,0.6);
盒影:1px 1px 2px rgba(0,0200,0.4);
边界半径:10px;
填充:3x10px;
显示:内联块;
光标:指针;
}
球员1:克里斯

var para=文档查询选择器('p'); 段落addEventListener(“单击”,更新名称); 函数updateName(){ var name=prompt('输入新名称'); para.textContent='Player 1:'+姓名; }
我猜我会把
放在html页面的底部

如果不是,我会得到错误

“updateName”在创建之前已被使用 定义段落addEventListener(“单击”,更新名称)

“prompt”在定义之前已被使用。var name=prompt('输入一个 新名称);


默认情况下,
script
标记按照它们在源代码中出现的顺序进行计算。将
脚本
标记替换为从外部文件加载相同代码的标记应该是等效的


如果要在
头中引用脚本
,请使用。

默认情况下
脚本
标记按它们在源代码中出现的顺序进行计算。将
脚本
标记替换为从外部文件加载相同代码的标记应该是等效的

如果要在
标题中引用脚本,请使用

“updateName”在定义之前已被使用。段落addEventListener(“单击”,更新名称)

您的代码:

para.addEventListener('click', updateName);
function updateName() {
在定义它之前,您可以在线上使用它

提升意味着这没有任何实际效果,但你的脱毛工具认为这是不好的风格

“prompt”在定义之前已被使用。var name=prompt('输入新名称')

prompt
是一种web API。它不是JavaScript本身的一部分。您的linting工具未配置为期望JavaScript在浏览器中运行。你需要重新配置它

“updateName”在定义之前已被使用。段落addEventListener(“单击”,更新名称)

您的代码:

para.addEventListener('click', updateName);
function updateName() {
在定义它之前,您可以在线上使用它

提升意味着这没有任何实际效果,但你的脱毛工具认为这是不好的风格

“prompt”在定义之前已被使用。var name=prompt('输入新名称')



prompt
是一种web API。它不是JavaScript本身的一部分。您的linting工具未配置为期望JavaScript在浏览器中运行。您需要重新配置它。

请将您的代码复制并粘贴到问题中,而不是发布屏幕截图。我不明白。是什么让你认为把它放在外部脚本中会有问题?只要你以相同的顺序加载它们,就和你在HTML中写的完全一样。可能重复@Shire not attach屏幕截图,请最好附加代码!!!您引用的“错误”是(a)警告,而不是错误(b)JSLint或类似工具的输出,以及(c)与HTML无关。请复制并粘贴问题中的代码,而不是发布屏幕截图。我不理解。是什么让你认为把它放在外部脚本中会有问题?只要你以相同的顺序加载它们,就和你在HTML中写的完全一样。可能重复@Shire not attach屏幕截图,请最好附加代码!!!您引用的“错误”是(a)警告,而不是错误(b)JSLint或类似工具的输出,以及(c)与HTML完全无关。用外部标记替换脚本标记时,它是否必须位于同一位置?我习惯于将脚本标记放在HTML的顶层page@Shire-文档中
元素的位置非常重要。对你来说,这很重要。默认情况下,请参见@Shire是。一旦遇到
脚本
标记,就会对其进行评估。如果没有
defer
属性,脚本将在加载DOM之前执行。@Quentin,谢谢Quentin你回答了我的问题!不知道如何选择你的评论作为答案thread@Shire-这是一个评论,因为它(以及cms的答案)与您的问题实际上似乎是在问什么无关。您引用的警告不是我在评论中链接到的问题的错误消息。用外部标记替换脚本标记时,警告是否必须位于同一位置?我习惯于将脚本标记放在HTML的顶层page@Shire-文档中
元素的位置非常重要。对你来说,这很重要。默认情况下,请参见@Shire是。一旦遇到
脚本
标记,就会对其进行评估。如果没有
defer
属性,脚本将在加载DOM之前执行。@Quentin,谢谢Quentin你回答了我的问题!不知道如何选择你的评论作为答案thread@Shire-这是一个评论,因为它(以及cms的答案)与您的问题实际上似乎是在问什么无关。您引用的警告不是我在评论中链接到的问题的错误消息。您说在定义“updateName”之前使用了“updateName”,但我对此进行了测试,它没有问题。@FarzinKanzi函数声明在代码执行之前已存储在内存中,这意味着从实用的角度来看,函数在哪里声明并不重要。@csm,如果我真的理解你,我说的就是你说的。傅在哪里并不重要