2014-05-21 7 views
0

두 개의 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 
} 
+2

반환 변수를 당신의 기능에서, 다음을 호출과 반환 된 값을 비교합니다. – elclanrs

답변

3

단지로 시도

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) { 

} 
+0

그것은 항상 사용자와 교사의 ID를 얻기 위해 json을 구문 분석합니다. –

+0

@ZaheerAhmed 이것은 전역을 피하기위한 개념 일뿐입니다. – hsz

+0

하지만 data 또는 classData는 어디에 정의되어 있습니까? – user3633334

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 
} 

당신이 지금에서 &에서 이러한 변수에 액세스하고 조작 할 수 있습니다 기능.

function UserInfo (UserInfoJson){ 
    return JSON.parse(UserInfoJson).id; 
} 

function ClassInfo (ClassInfoJson){ 
    return JSON.parse(ClassInfoJson).teacherId; 
} 

if (UserInfo(data) == ClassInfo(data)) { 

} 

또는 :

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 
} 

선언 함수 이전의 변수

이 기능의 외부 접근이다 6,
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 
} 
관련 문제