无法调用函数从另一个javascript文件传递变量值

时间:2016-01-12 07:46:07

标签: javascript

我使用了一个特定的问题名称,以避免重复的问题名称,因为我发现一些海报有相同的问题,我使用了提供的解决方案,但仍然无法从另一个javascript文件调用该函数并使用alert()来查看传递给html页面的另一个js文件的变量值。

在我的file.js文件中,我有一个函数来声明一个数组并放一个全局变量:

function MsgsArr(){
var Msgs = [
  "Msg1.",
  "Msg2.",
];
return Msgs;
}
var Msgs_Arr = MsgsArr();

后跟一个函数来创建随机消息并声明全局变量:

function CreateRandomMsg(){
var RandomMsg = Msgs_Arr[Math.floor(Math.random()* Msgs_Arr.length)];
return RandomMsg;
}
var Random_Msg = CreateRandomMsg();

然后它是我想要实现的最终功能,以显示基于随机消息的值:

function ValuesToCheck(){

if (Random_Msg == Msgs_Arr[0] || Random_Msg == Msgs_Arr[1]){
var check = facesDet.photos[0].tags[0].attributes.glasses.value
};
return check;
};

由于在实际情况下我有2条以上的消息,每2条消息将共享一个值,因此if语句会更长。在我的file1.html文件中,在一个函数中我想显示最终值(true或false),并使用alert(ValuesToCheck())来调用该函数,但它不起作用。如果我在此处声明var a = facesDet.photos[0].tags[0].attributes.glasses.value;之类的值并alert(a);它将起作用。当我试图从另一个js文件调用该函数时,我不确定为什么事情不起作用,请帮忙。对不起,这个问题似乎很难阅读。感谢您花时间阅读它。

var facesDet = $.getJSON( APIdetect, function(facesDet) {
})

.done(function (facesDet, tid) {
    var tid = facesDet.photos[0].tags[0].tid;
    Load(tid);
    alert(ValuesToCheck());
});

2 个答案:

答案 0 :(得分:0)

从我可以看到的是,在ValueToCheck函数中,RandomMsg和Msgs未初始化。基本上他们不是全球性的。你需要使用Random_Msg和Msgs_Arr。

答案 1 :(得分:0)

试试这个。

css

在你的js文件中

#galerija-seperator {
background-image: url("../img/gallery-seperator.png");
width: 543px;
height: 38px;
overflow: visible;
}