我想加载一个 JS,他的行为应该根据一个参数而有所不同。我认为其中一种方法可能是:
<script src="script.js?type=a" type="text/javascript"></script>
<script src="script.js?type=b" type="text/javascript"></script>
...
然后,我将使用正则表达式获取参数,例如:
function getURLParameter(name) {
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null;
}
(以上功能来自 here)。
但是,我不确定这是否是最好的方法。您是否建议任何其他方法来执行此操作,例如在 <script></script>
中加载全局变量?然后从 JS 中读取它们?
最佳答案
通常可能有更好的方法来组织您的代码,但配置参数比 URL 查询更简单的方法是简单地调用带有参数的已定义函数:
外部脚本(foo.js):
function foo(param) {
console.log(param);
}
HTML:
<script src="foo.js"></script>
<script>foo("parameter value");</script>
编辑:这是一个“配置”参数而不立即调用任何东西(基本上是一个简单的闭包)的例子:
function (param) {
$(document).ready(function () {
// Use param
});
}
$(document).ready
已经是一个异步调用,所以这比其他方式更简单,但通常您可以使用 IIFE(立即调用的函数表达式):(函数(参数){})(参数值)
关于javascript - JS 的参数 - 哪个是最好的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15228714/