假设我有一个包含以下内容的文件“test.js”:
var test = 'something';
然后我有一个需要加载 test.js 来获取测试变量的主脚本。
显然这有效:
$.ajax({dataType: "script", cache: true, url: 'test.js'});
问题是变量test
存在于全局范围内。我很好奇是否有办法将它添加到对象中并将其排除在全局范围之外。
就像是:
function scriptloader() {
this.grabscript = function() {
return $.ajax({dataType: "script", cache: true, url: 'test.js'});
}
}
var myloader = new scriptloader();
myloader.grabscript();
理想情况下 myloader 将包含加载的变量test
。但是,我可以 console.log(test) 并且仍然看到“某些东西”。
有没有办法将加载的脚本锁定在范围内,还是我在做梦?