Jon*_*has 3 html javascript regex performance jquery
我想加载一个JS,他的行为应该根据一个参数而有所不同.我认为其中一种方法可能是:
<script src="script.js?type=a" type="text/javascript"></script>
<script src="script.js?type=b" type="text/javascript"></script>
...
Run Code Online (Sandbox Code Playgroud)
然后,我将使用正则表达式获取参数,如:
function getURLParameter(name) {
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null;
}
Run Code Online (Sandbox Code Playgroud)
(上面的函数从这里).
但是,我不确定这是否是最佳方法.你有没有其他方法可以做到这一点,比如,在里面加载全局变量<script></script>然后从JS中读取它们?
通常可能有更好的方法来组织代码,但配置参数比使用URL查询更简单的方法是使用参数简单地调用已定义的函数:
外部脚本(foo.js):
function foo(param) {
console.log(param);
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<script src="foo.js"></script>
<script>foo("parameter value");</script>
Run Code Online (Sandbox Code Playgroud)
编辑:这是一个"配置"参数而不立即调用任何东西的例子(基本上是一个简单的闭包):
function (param) {
$(document).ready(function () {
// Use param
});
}
Run Code Online (Sandbox Code Playgroud)
$(document).ready 已经是一个异步调用,所以这比其他方式更简单,但通常你可以使用IIFE(立即调用函数表达式): (function (param) { })(paramValue)
| 归档时间: |
|
| 查看次数: |
68 次 |
| 最近记录: |