javascript - JS 的参数 - 哪个是最好的方法?

标签 javascript jquery html regex performance

我想加载一个 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/

相关文章:

jquery - 沿整个 body 宽度移动 div

javascript - meteor 助手没有按预期行事

javascript - 覆盖 Tab 键行为,因此它不会转到下一个字段(只关注实际字段)

javascript - 无法动态地将选项附加到选择下拉列表

javascript - JQuery - 自动更改图像的功能

php - Shell 脚本根据日期列出所有文件并将其发送到 HTML 文件,每行作为链接

javascript - 如何制作脚本以通过 URL 接收参数?

javascript - 在 Joomla 3.x 中通过 POST 将数组从 javascript 发送到 php

javascript - 添加百分比到价格字段,包括。货币代码

javascript - 如何通过单击按钮在全日历中添加任何事件?