Javascript 使用jquery访问另一个js文件
我试图从另一个javascript文件访问数据,它是这样写的:Javascript 使用jquery访问另一个js文件,javascript,jquery,Javascript,Jquery,我试图从另一个javascript文件访问数据,它是这样写的: (function($) { var Poller = function () { this.defaults = { type: 'veggies', limit: 10 }; this.items = { veggies: [ 'Adzuki Beans', 'Asparagus', 'Black-eyed Pea
(function($) {
var Poller = function () {
this.defaults = {
type: 'veggies',
limit: 10
};
this.items = {
veggies: [
'Adzuki Beans',
'Asparagus',
'Black-eyed Peas',
'Brussels Sprouts',
'Carrots',
'Collard Greens',
'Parsnips',
'Rhubarb',
'Yams',
'Watercress'
],
fruits: [
'Apricots',
'Blackcurrants',
'Cherimoya',
'Dates',
'Elderberry',
'Guava',
'Kumquat',
'Miracle Fruit',
'Purple Mangosteen',
'Satsuma'
]
};
};
Poller.prototype._getRandomNumber = function (min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
};
Poller.prototype._getData = function (type) {
var item, i, len;
var list = this.items[type] || [];
var results = [];
for (i = 0, len = list.length; i < len; i++) {
item = list[i];
results.push({
name: item,
count: this._getRandomNumber(0, 200000)
});
}
return results;
};
Poller.prototype._processData = function (data, limit) {
return data.slice(0, limit);
};
Poller.prototype.poll = function (options, cb) {
var self = this;
var config = $.extend({}, this.defaults, options);
var dfd = $.Deferred();
setTimeout(function () {
var payload = self._processData(self._getData(config.type), config.limit);
cb && cb(payload);
dfd.resolve(payload);
}, this._getRandomNumber(400, 2000));
return dfd;
};
if (window.spredfast == null) {
window.spredfast = {
Poller: Poller
};
}
}(jQuery));
(函数($){
变量轮询器=函数(){
这是默认值={
类型:“蔬菜”,
限额:10
};
此项。项目={
蔬菜:[
"小豆",,
“芦笋”,
“黑眼豌豆”,
“抱子甘蓝”,
“胡萝卜”,
“羽衣甘蓝”,
“欧防风”,
“大黄”,
"山药",,
“豆瓣菜”
],
水果:[
‘杏’,
“黑醋栗”,
“切里莫亚”,
“日期”,
“接骨木”,
‘番石榴’,
“金桔”,
“奇迹果”,
‘紫山竹’,
“温州蜜柑”
]
};
};
Poller.prototype.\u getRandomNumber=函数(最小值,最大值){
返回Math.floor(Math.random()*(max-min+1))+min;
};
Poller.prototype.\u getData=函数(类型){
var项目,i,len;
var list=this.items[type]| |[];
var结果=[];
对于(i=0,len=list.length;i
在HTML中,它嵌入在我的脚本文件之前,意思是
<script src="api.js"></script>
<script src="script.js"></script>
如何从脚本文件中访问数据并按降序显示它(混合蔬菜和水果)
谢谢,应该可以
if (!(spredfast in window)) {
window.spredfast = {
Poller: function(){
return new PollerInstance();
}
};
} else {
window.spredfast.Poller = function(){
return new PollerInstance();
};
}
// call
var Poller = spredfast.Poller();
运行此命令,以访问数据项。例如,veggies。必须创建一个新的Poller实例
(函数($){
变量轮询器=函数(){
这是默认值={
类型:“蔬菜”,
限额:10
};
此项。项目={
蔬菜:[
"小豆",,
“芦笋”,
“黑眼豌豆”,
“抱子甘蓝”,
“胡萝卜”,
“羽衣甘蓝”,
“欧防风”,
“大黄”,
"山药",,
“豆瓣菜”
],
水果:[
‘杏’,
“黑醋栗”,
“切里莫亚”,
“日期”,
“接骨木”,
‘番石榴’,
“金桔”,
“奇迹果”,
‘紫山竹’,
“温州蜜柑”
]
};
};
Poller.prototype.\u getRandomNumber=函数(最小值,最大值){
返回Math.floor(Math.random()*(max-min+1))+min;
};
Poller.prototype.\u getData=函数(类型){
var项目,i,len;
var list=this.items[type]| |[];
var结果=[];
对于(i=0,len=list.length;i
您需要创建一个轮询器
实例。既然您试图访问scriptHi账单,那么您现在有什么代码,我已经尝试了var obj=window.Poller;var obj=window.spreadsfast.Poller;您有权更改该文件吗?是的,api.js文件与我的script.js文件位于同一文件夹中。谢谢,代码返回,Uncaught ReferenceError:Poller不是defined@kirdua哎呀,我错了。您可以在自调用函数中实例化轮询器,因为轮询器还不存在。更新..thx以获取信息。如何从新脚本访问该函数并触发该函数?取决于要访问的内容,但本例中可以使用window.spredfast.Poller.items.veggies[0]我尝试访问水果和蔬菜,以及分配给它们的随机数,并按降序显示它们。我更新了上面的代码,使用window.spredfast.Poller.poll()返回的承诺。然后()上面示例中的最后几行使用警报显示第一个素食者。它返回一个包含随机值的Veggie数组。如果你想要水果,你必须改变默认选项,它在Poller中显示类型:“veggies”。