一尘不染

将参数传递到JavaScript文件

javascript

通常,我会使用一个JavaScript文件,该文件需要在网页中定义某些变量。

所以代码是这样的:

<script type="text/javascript" src="file.js"></script>
<script type="text/javascript">
   var obj1 = "somevalue";
</script>

但是我想做的是:

<script type="text/javascript" 
     src="file.js?obj1=somevalue&obj2=someothervalue"></script>

我尝试了不同的方法,最好的方法是解析查询字符串,如下所示:

var scriptSrc = document.getElementById("myscript").src.toLowerCase();

然后搜索我的价值观。

我想知道是否还有另一种方法可以执行此操作而无需构建函数来解析我的字符串。

你们都知道其他方法吗?


阅读 197

收藏
2020-04-25

共1个答案

一尘不染

如果可能,我建议不要使用全局变量。使用名称空间和OOP将参数传递给对象。

此代码属于file.js:

var MYLIBRARY = MYLIBRARY || (function(){
    var _args = {}; // private

    return {
        init : function(Args) {
            _args = Args;
            // some other initialising
        },
        helloWorld : function() {
            alert('Hello World! -' + _args[0]);
        }
    };
}());

并在您的html文件中:

<script type="text/javascript" src="file.js"></script>
<script type="text/javascript">
   MYLIBRARY.init(["somevalue", 1, "controlId"]);
   MYLIBRARY.helloWorld();
</script>
2020-04-25