나는 2 등으로Javascript 개체 값이 증가합니까?
var jeremy = {loc:1};
var move1 = function (car){
car.loc++;
};
console.log(move1(jeremy));
나는 2 등으로Javascript 개체 값이 증가합니까?
var jeremy = {loc:1};
var move1 = function (car){
car.loc++;
};
console.log(move1(jeremy));
move1()
var jeremy = {loc:1};
var move1 = function (car){
car.loc++;
return(car.loc);
};
console.log(move1(jeremy));
console.log()
의 사용을 무시
단순히 값을 증가하려는 나 또한 move1()
가 값을 반환을 가지고 있습니까?
기존 코드가 돌아 오지 않고 값을 증가시킬 때으로 잘 작동합니다. 그러나 업데이트 된 객체 대신 함수의 결과를 인쇄했습니다. move1()
으로 전화하여 개체를 업데이트 한 다음 아래에 표시된대로 개체를 인쇄하십시오.
다시 원하는대로 개체를 업데이트하면 값을 반환 할 필요가 없습니다.
당신이 정말로뿐만 아니라 값을 반환 값을 증가시키고 아래로, 유사한 그것을 반환 할 경우
var jeremy = {loc:1};
var move1 = function (car){
car.loc++;
};
move1(jeremy)
console.log(jeremy.loc);
Car.loc += 1
도 작동하지만
var jeremy = {loc:1};
var move1 = function (car){
return ++car.loc; // returns 2 and increments loc to 2.
};
console.log(move1(jeremy)); // returns 2 , value after increment
console.log(jeremy.loc); // returns 2 as increment has happened.
참고 앞의 예 나는, ++Car.loc
에 Car.loc++
을 변경했습니다. 차이점은 return Car.loc++
이 결과가 인 것을으로 되 돌리는 것과 같습니다.
예, var x = Car.loc++; return x;
도 작동하지만 나는 ++x
및
x++
사이의 차이가 여기에 주제에 Arithmetic operators - Increment++
var jeremy = {loc:1};
var move1 = function (car){
return car.loc++; // returns 1 and not 2 but will increment loc to 2.
};
console.log(move1(jeremy)); // returns 1 , value before increment
console.log(jeremy.loc); // returns 2 as increment has happened.
당신하여 Move1 기능이 아무것도 반환하지 않습니다 loc
의 가치를 높이기 위해 내 코드에 어떤 문제가 있는지 알아낼 수 없습니다. 반환 값을 인쇄하려고합니다 (console.log). 당신은 당신은 당신의 함수에서 값을 반환 잊어 버린
@ Jeremy1948 대답에 동의 함을 표시해야합니다. – sferret
주석에 있어야합니다. –
그 대답은 잘못되었습니다. 모든 함수 javascript는 무엇인가를 반환하고 이것은 항상 정의 - 정의되지 않은 것입니다. op는 그 값을 기대하지 않습니다. 왜냐하면 op는 뭔가 다른 것을 기대하고 있기 때문입니다. 질문에 언급되지 않았 으면 가능한 것은 객체 또는 증가 후의 값이 될 수 있습니다. –
var jeremy = {loc:1};
var move1 = function (car){
car.loc++;
return car;
};
console.log(move1(jeremy));
왜 다른 사람들이 당신의 타임 스탬프와 코멘트를 대답하기 전에 분명히 보았던 해결책과 똑같은 해결책을 준 후에 당신 자신의 대답에 답하는 것입니까? –
대신 "jeremy.loc"의 값을 인쇄하려고합니다. 코드에서 jeremy.loc = 2 끝에 있지만 console.log 함수는 아무것도 반환하지 않기 때문에 아무것도 인쇄하지 않습니다. 다음은 반환 구문 코드 :
함수에 반환 값이 필요하며 car.loC++ 대신 ++ car.loc를 사용할 수 있습니다. ++ car.loc는 return 문 앞에 변수를 증가시킵니다. car.loC++을 작성하면 리턴 후에 변수가 증가합니다. 해피 코딩!
var jeremy = {loc:1};
var move1 = function (car){
return ++car.loc;
};
console.log(move1(jeremy));
이것이'console.log()'가'undefined' OPs 코드가 이미 작동하고 있었던 이유를 해결하는 동안. 모든 OP는 'move1 (jeremy); console.log (jeremy.loc);'우리는 OP가'move1() '에서 무엇을 반환하기를 원하는지 모르지만 OP가 원래 코드가 이미 수행 한 값을 증가시키고 싶다는 것을 알고있다. – Nope
코드가 잘 작동합니다. –
@ chi 나는 당신이 혼란스러운 것 같아요. 이 경우 Post/Pre 증분은 아무 것도 변경해서는 안됩니다. – Epitouille
@Epitouille 공정한 의견. removed mine – ochi