我有两个JSON文件,我需要比较两个值来查看它们是否相等,但我不确定如何比较函数之外的变量。每个变量产生一个数字,我只需要检查它们是否相等
function UserInfo(UserInfoJson){
details = JSON.parse(UserInfoJson);
var user = details.id;
}
function ClassInfo(ClassInfoJson){
details = JSON.parse(ClassInfoJson);
var teacher = details.teacherId;
}
if (user == teacher) {
// do something
}
答案 0 :(得分:3)
试试:
function UserInfo (UserInfoJson){
return JSON.parse(UserInfoJson).id;
}
function ClassInfo (ClassInfoJson){
return JSON.parse(ClassInfoJson).teacherId;
}
if (UserInfo(data) == ClassInfo(data)) {
}
或者:
function UserInfo (UserInfoJson){
return JSON.parse(UserInfoJson);
}
function ClassInfo (ClassInfoJson){
return JSON.parse(ClassInfoJson);
}
var userInfo = UserInfo(userData),
classInfo = ClassInfo(classData);
if (userInfo.id == classInfo.teacherId) {
}
如果我们尽可能地将其简化为:
var userInfo = JSON.parse(userData),
classInfo = JSON.parse(classData);
if (userInfo.id == classInfo.teacherId) {
}
答案 1 :(得分:0)
在开头添加全局定义:
var user;
var teacher;
function UserInfo (UserInfoJson){
details = JSON.parse(UserInfoJson);
user = details.id;
}
function ClassInfo (ClassInfoJson){
details = JSON.parse(ClassInfoJson);
teacher = details.teacherId;
}
if (user == teacher) {
// do something
}
您现在可以在&中访问和操作这些变量没有功能。
答案 2 :(得分:0)
var user = "";
function UserInfo (UserInfoJson){
details = JSON.parse(UserInfoJson);
user = details.id;
}
var teacher ="";
function ClassInfo (ClassInfoJson){
details = JSON.parse(ClassInfoJson);
teacher = details.teacherId;
}
if (user == teacher) {
// do something
}
在函数
之前声明变量答案 3 :(得分:0)
在范围内初始化,可在函数外部访问:
var user,teacher;
function UserInfo (UserInfoJson){
details = JSON.parse(UserInfoJson);
user = details.id;
}
function ClassInfo (ClassInfoJson){
details = JSON.parse(ClassInfoJson);
teacher = details.teacherId;
}
if (user == teacher) {
// do something
}