gpt4 book ai didi

javascript - 在文件1中使用文件2时,在文件2中使用文件1中定义的javascript变量

转载 作者:行者123 更新时间:2023-11-30 13:25:29 26 4
gpt4 key购买 nike

我正在尝试做的是以下内容。我在 HTML 文件中使用 Raphael.js 为草图编写代码。为了使文件更清晰,我想在单独的文件 pathsFile.js 中定义长路径,我可以从中访问路径。尽管我使用的是 Raphael.js,但我认为我的问题与 Javascript 的关系比与 Raphael.js 的关系更大。

以下作品:

<!doctype html>  
<html lang="en">

<head>
<meta charset="utf-8">
<script src="./raphaelJS/raphael.js"></script>
<script src="./pathsFile.js"></script>
</head>

<body>

<div id="main">

<div id="figSellerBuyer"></div>
<script>
s = 1;
attrbs = {stroke: "white", "stroke-width": 2};
pw = 850;
ph = 450;

paper = new Raphael('figSellerBuyer', pw*s, ph*s);
market = paper.path(paths.marketBoundary);

</script>

</body>
</html>

文件 pathsFile.js 是:

var paths = {
marketBoundary: "M 20 20 L 500 20 L 500 430 L 20 430 Z"
}

问题是:

我想做的是将 pathsFile.js 中的硬编码数字替换为依赖于主文件中定义的变量 pwph HTML 文件。例如,如果我将 pathsFile.js 更改为:

var ph = 450;
var paths = {
marketBoundary: "M 20 20 L 500 20 L 500 430 L 20 " + ph-20 + " Z"
}

代码仍然有效。但这涉及在 pathsFile.js 中定义 ph。有没有一种方法可以读取主 HTML 文件中定义的值。

感谢阅读本文。

最佳答案

是 - 使用多个 <script> block :

<script>
var s = 1;
var attrbs = {stroke: "white", "stroke-width": 2};
var pw = 850;
var ph = 450;
</script>

<script src="./pathsFile.js"></script>

<script>
var paper = new Raphael('figSellerBuyer', pw*s, ph*s);
market = paper.path(paths.marketBoundary);
</script>

但是,有意识地global namespace pollution ,这当然可以清理干净。一个简单的例子是首先声明 var myConfig = {} ,然后将所有变量分配给 myConfig - 这样只有一个顶级变量被使用。 (此外,使用 var 显式声明所有变量。)

关于javascript - 在文件1中使用文件2时,在文件2中使用文件1中定义的javascript变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8622339/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com