Continue.

#### 3.What is the result of this expression? (or multiple ones)

A an error

B [9,0]

C [9,NaN]

D [9,undefined]

See more information about Array.prototype.reduce()> The reduce() method applies a function against an accumulator and each value of the array (from left-to-right) to reduce it to a single value.

reduce() accept 2 arguments:reduce(callback,initialValue),this callback function will get 4 arguments:

callback(accumulator,currentValue,currentIndex,array)

accumulator

The accumulated value previously returned in the last invocation of the callback, or initialValue, if supplied. (See below.)

currentValue

The current element being processed in the array.

currentIndex

The index of the current element being processed in the array. Starts at index 0, if an initialValue is provided, and at index 1 otherwise.

array

The array reduce was called upon.

For example,use

It returned 15.

First callback function got (1,2) returned 3,then the 2nd callback function got (3,3) returned 6.The 3rd callback got (6,4) returned 10,the 4st callback got (10,5) returned 15,the finally result.

Math.pow() will calculate power value.It accept 2 arguments,like Math.pow(base,exponent)

It’s equal to baseexponent

In this problem,[1,2,3].reduce(Math.pow) means that:

step1: Math.pow got (1,2) returned 1

step2: Math.pow got (1,3) returned 1

Finally it got 1.

But the 2nd array’s item is []

reduce() method need an intial value at least,so it will throw an error:

TypeError: Reduce of empty array with no initial value

So this problem’s correct answer is A

#### 4.What is the result of this expression? (or multiple ones)

A Value is Something

B Value is Nothing

C NaN

D Other

This is a trick question.The correct is D

The operator ‘+’ will calculate first because it has higher precedence.

That expression equal to

An string expression like ‘true’ in condition,So it will print ‘Something’

#### 5.What is the result of this expression? (or multiple ones)

A Goodbye Jack

B Hello Jack

C Hello undefined

D Hello World

This a question about “Hoisting”.The ‘var’ will hoisting in the function scope.

So the code will be this:

For if (typeof name === ‘undefined’),it will find name from scope chain,so this ‘name’ is declared in anonymous function: var name

‘var name’ means that name is undefined,so condition of ‘if’ is true,then name is declared ‘Jack’.

Hence,printed ‘Goodbye Jack’