Javascript 如何在外部运行此代码?
Javascript代码嵌入到HTML中,但希望在外部链接到JS脚本,而不是在HTML中 但我最终会遇到一些全局或局部变量问题,函数在定义之前就已经运行了 对这个问题有什么帮助吗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
<!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,如果我真的理解你,我说的就是你说的。傅在哪里并不重要