Javascript 如何让我的脚本彼此交互?

Javascript 如何让我的脚本彼此交互?,javascript,jquery,Javascript,Jquery,我的网页加载后将运行以下脚本: $(function() { return $.ajax({ type: "get", dataType: "json", url: "/get_script", success: function(data, status, xhr) { return $("#myScript").html(data.myScript); } }); }); 该脚本从我的服务器获取另一个脚本(data.myScrip

我的网页加载后将运行以下脚本:

$(function() {
  return $.ajax({
    type: "get",
    dataType: "json",
    url: "/get_script",
    success: function(data, status, xhr) {
      return $("#myScript").html(data.myScript);
    }
  });
});
该脚本从我的服务器获取另一个脚本(
data.myScript
对象)。添加到我的网页的新脚本如下所示:

<script>
  initScript = function() {
    return window.random_string = Math.random().toString(36).substring(7);
  };

  $(window).bind("popstate", 'hashchange', function() {
    return initScript();
  });

  window.random_string = null;
  initScript();
</script>

initScript=函数(){
return window.random_string=Math.random().toString(36)子字符串(7);
};
$(window).bind(“popstate”,“hashchange”,function(){
返回initScript();
});
window.random_string=null;
initScript();
如果新脚本需要为网页上的其他脚本提供变量,我会将它们放在
窗口中。my_variable
variable,但我希望能够调用例如
MyScript.random_string

我还希望能够从其他脚本触发
initScript
函数。例如
MyScript.initScript()


如何实现这一点?

首先,我建议使用
$.getScript
加载JS代码,假设您无法将其直接嵌入
标记中

为了解决您的实际问题,您只需要按照您需要的方式构建它。只需创建一个对象,如
var MyScript={}然后将所有函数和变量作为属性放置在该对象中,如下所示:

<script>
  initScript = function() {
    return window.random_string = Math.random().toString(36).substring(7);
  };

  $(window).bind("popstate", 'hashchange', function() {
    return initScript();
  });

  window.random_string = null;
  initScript();
</script>
$.getScript('/get_script',函数(){
//在此处加载脚本后将逻辑置于运行状态。。。
//请注意,您不再需要.html(data.myScript)
initScript();
log(MyScript.random_字符串);
});
//在外部脚本中:
var MyScript={
initScript=函数(){
this.random_string=Math.random();
},
随机_字符串:空;

}
首先,我建议使用
$.getScript
加载JS代码,假设您不能将其直接嵌入
标记中。为了解决您的实际问题,您只需要按照您需要的方式构建它。只需创建一个对象,如
var MyScript={}
然后将所有函数和变量作为属性放在该对象中谢谢@Rorymcrossan,但如果你能将上述内容作为答案,我将非常感谢。当然,我为你添加了它Hanks@Rorymcrossan,我正在尝试你的解决方案,我可以看到
“/get_script”
的响应负载确实就是脚本。但是
console.log(MyScript.random_字符串)行并没有被触发,我把int放在那个里的其他东西也并没有被触发。我还尝试调用
MyScript.random\u string来自浏览器控制台,但这会引发
引用错误:未定义MyScript
。外部脚本不需要以某种方式附加到文档中吗?