获取调用某些函数的脚本标记

时间:2016-07-05 19:55:32

标签: javascript resources load

我们说我有第一个脚本,其中包含函数导出

function export(*params*){
  let callerScriptReference = ....;
  .....
}

然后我有一个第二个脚本,我调用这个函数

export(*params*);

是否可以从导出函数体内引用第二个脚本?我想获得一些"数据 - *"来自该脚本标记的属性。

脚本以随机顺序添加到页面中。

希望你理解我想要完成的事情:D

感谢您的任何建议或帮助。

2 个答案:

答案 0 :(得分:1)

据我所知,没有内置方法可以获取有关包含调用代码的<script>标记的信息,因此您需要明确传递它。

function export(callerscript, otherparams...) {
    ...
}

来电者会这样做:

export(document.currentScript, otherargs...);

如果您在函数中执行此操作,则可以使用IIFE捕获闭包变量中的值。

var someFun = (function(curScript) {
                return function(stuff) {
                    export(curScript, stuff);
                }; })(document.currentScript);
someFun(stuffArgs);

答案 1 :(得分:0)

如果您在浏览器中,则可以在html正文中添加另一个脚本标记。这将允许该函数共享相同的范围。

如果您在nodejs中,如果您使用的是ES5(目前支持最多):

  • script1.js最后:

module.exports = function funName(){}

  • script2.js在开头:

var funName = require('script1');