--- id: 56533eb9ac21ba0edf2244aa title: Understanding Uninitialized Variables challengeType: 1 videoUrl: 'https://scrimba.com/c/cBa2JAL' forumTopicId: 18335 localeTitle: 理解未初始化的变量 --- ## Description
当 JavaScript 中的变量被声明的时候,程序内部会给它一个初始值undefined。当你对一个值为undefined的变量进行运算操作的时候,算出来的结果将会是NaNNaN的意思是"Not a Number"。当你用一个值是undefined的变量来做字符串拼接操作的时候,它会输出字符串"undefined"
## Instructions
定义 3 个变量abc,并且分别给他们赋值:510"I am a",这样它们值就不会是undefined了。
## Tests
```yml tests: - text: a应该被定义,并且值为6。 testString: assert(typeof a === 'number' && a === 6); - text: b应该被定义,并且值为15。 testString: assert(typeof b === 'number' && b === 15); - text: c的值不能包含undefined,应该为 "I am a String!"。 testString: assert(!/undefined/.test(c) && c === "I am a String!"); - text: 不要修改第二条注释下的代码。 testString: assert(/a = a \+ 1;/.test(code) && /b = b \+ 5;/.test(code) && /c = c \+ " String!";/.test(code)); ```
## Challenge Seed
```js // Initialize these three variables var a; var b; var c; // Do not change code below this line a = a + 1; b = b + 5; c = c + " String!"; ```
### After Test
```js (function(a,b,c){ return "a = " + a + ", b = " + b + ", c = '" + c + "'"; })(a,b,c); ```
## Solution
```js var a = 5; var b = 10; var c = "I am a"; a = a + 1; b = b + 5; c = c + " String!"; ```