如何在使用JavaScript的html文件中定义JavaScript文件中的变量?

如何在使用JavaScript的html文件中定义JavaScript文件中的变量?,javascript,html,variables,Javascript,Html,Variables,我已经搜索了一个答案,但我还没有找到一个解决我的问题的答案,因为我不知道如何把它作为一个搜索词。我的问题是,我想对多个HTML文件使用相同的JS代码,但根据HTML文件的不同,JS中只需要更改几个值 HTML var num=0 变量名称=项目 var LAST=100 var LAST1=LAST-1 文本[0]=“a” 文本[1]=“b” 项目 返回 下一个 ***JavaScript*** var text=新数组[100] var num=0 变量名称=项目 var LAST=100

我已经搜索了一个答案,但我还没有找到一个解决我的问题的答案,因为我不知道如何把它作为一个搜索词。我的问题是,我想对多个HTML文件使用相同的JS代码,但根据HTML文件的不同,JS中只需要更改几个值

HTML


var num=0
变量名称=项目
var LAST=100
var LAST1=LAST-1
文本[0]=“a”
文本[1]=“b”

项目

返回 下一个 ***JavaScript*** var text=新数组[100] var num=0 变量名称=项目 var LAST=100 var LAST1=99 函数Next(){ num=num+1 如果(num==LAST) {num=0} stepnum=num.toString(); document.getElementById(“Pic”).src=“image/”+NAME+”(“+stepnum+”).jpg” document.getElementById(“Text”).innerHTML=Text[num] 如果(num==0) document.getElementById(“步骤”).innerHTML=NAME 如果(num==1) document.getElementById(“步骤”).innerHTML=“片段” 如果(num>1) document.getElementById(“Step”).innerHTML=“Step”+(num-1.toString(); } 函数Back(){ num=num-1 if(num<0) {num=LAST1} stepnum=num.toString(); document.getElementById(“Pic”).src=“image/”+NAME+”(“+stepnum+”).jpg” document.getElementById(“Text”).innerHTML=Text[num] 如果(num==0) document.getElementById(“步骤”).innerHTML=NAME 如果(num==1) document.getElementById(“步骤”).innerHTML=“片段” 如果(num>1) document.getElementById(“Step”).innerHTML=“Step”+(num-1.toString(); }
在包含脚本之前,您应该定义本地变量

<script>
    // local variables
    var firstname = "John", lastname = "Doe";
</script>
<script src="hellohello.js"></script>
// Check if the variable already exists

// If it doesn't we'll give it a default variable
if(typeof(firstname)==='undefined') firstname = "Guest";
if(typeof(lastname)==='undefined') lastname = "";
alert("Hello "+ firstname +" "+ lastname);

// Or just do something else
if(typeof(firstname)!=='undefined' && typeof(lastname)!=='undefined') {
   // Do something
} else {
   // Do nothing
}
演示1:

演示2:

我不知道这是否比哈奇巴特的好,但这是另一种方式

我所做的是将buttons.js分成两个文件:buttons_init.js和buttons.js

buttons_init.js包括所有初始化,但不包括使用它的代码

var text = new Array[100]
var num = 0
var NAME = PROJECT
var LAST = 100
var LAST1 = 99
因此,在HTML中,您可以这样做(最好是在按钮处,除非您需要它提前运行):


//覆盖任何需要更改的变量
num=5
最后一次=200
LAST1=LAST-1

你的问题不清楚。哪些部分需要根据HTML文件进行更改?一般的答案是,您应该定义函数或类,更改的内容应该作为函数的参数提供。将
按钮
脚本包装到obj或函数中,然后传递
num
NAME
。。。作为arguments@Fabricator,beaurriful:-)这里的HTML文件位于每个HTML文件中,其中显示“PROJECT”,我将手动将每个实例更改为与该项目的图像文件夹相关的项目名称,每个图片名为“PROJECT(number).jpg”。我需要在JS代码中使用该名称来显示图像和与每张图片相关的任何文本。所有这些文本都保存在一个数组中,每次单击一个按钮,它都会遍历该数组,为图像显示正确的文本。当我在HTML文件中有JS代码时,我已经完成了这项工作,但我只想为每个HTML文件引用一个JS文件。@user1888736-对不起,那条评论是为了另一个问题。我正想弄清楚我错评论了哪个问题,但你抢先一步。我删除了它。首先包含脚本,然后重写内联变量不是更容易吗?我以为它会暂停运行JavaScript,直到加载所有脚本?您是否必须更改onLoad(或$(document.ready)中的变量?在加载脚本之前定义变量要简单得多。我知道你在干什么。好的,我将以另一种方式发布,但我不一定认为它更好。我需要在JS文件中初始化变量还是只在HTML文件中初始化?@user1888736仅在HTML文档中,但是如果变量未定义,您可以添加默认值或默认行为。因此我这样做了,但我仍然无法让它工作。我不能在这里发布内容,我没有足够的字符。我真的不希望每个项目都有另一个文件,所以我只是把所有变量放在HTML文档中的一个脚本中,就像@hutchbat建议的那样。这应该是一样的,对吧?是的,应该是一样的。如果你喜欢哈奇巴特的答案,那就随它去吧。我只是想提供其他我认为平等的选择。
var text = new Array[100]
var num = 0
var NAME = PROJECT
var LAST = 100
var LAST1 = 99
<script type="text/javascript" src = "../buttons_init.js">
<script>
    // overwrite any variables you need to change
    num = 5
    LAST = 200
    LAST1 = LAST-1
</script>
<script src = "../buttons.js>