делая сложение, результат должен быть как пять, но он приходит как NAN - PullRequest
0 голосов
/ 27 июня 2019
  • Я делаю сложение, результат должен быть равен пяти, но его значение не определено.
  • Я отлаживал код для foo.baz и foo.bar, он должен быть равен 3 и 2 соответственно.
  • Но это не определено.
  • Можете ли вы, ребята, сказать мне, в чем проблема.
  • , чтобы я мог продолжить.
  • предоставив мой фрагмент кода ниже
var bar = 1,
    foo = {};

foo: {
    bar: 2;
    baz: ++bar; //3
};
//3+2

console.log("foo.baz--->", foo.baz);
console.log("foo.bar--->", foo.bar);

console.log("bar--->", bar);

foo.baz + foo.bar + bar;

1 Ответ

0 голосов
/ 27 июня 2019

Переключитесь на foo = {bar: 2, baz: bar ++} (как показано ниже), это больше того, что вы ищете.Кроме того, baz равен 2, а не 3, так как вы добавляете bar (который = 1) + 1. Если вы хотите, чтобы foo.bar и bar были двумя разными переменными.

var bar = 1,
    foo = {};

foo = {
    bar: 2,
    baz: ++bar //2
};


console.log("foo.baz--->", foo.baz);
console.log("foo.bar--->", foo.bar);

console.log("bar--->", bar);

console.log(foo.baz + foo.bar + bar); // This will equal 6

Это будет console.log foo.baz = 2, foo.bar = 2, bar = 2

https://www.w3schools.com/js/js_objects.asp. Вот урок о том, как использовать объекты в JavaScript.Если вам интересно, почему bar = 2, это потому, что ++ изменяет значение переменной bar.Вы можете использовать bar + 1, если хотите сохранить его первоначальное значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...