Yes it is a function. It passes the vertical line test. In other words, it is impossible to draw a single vertical line through more than one point on the V shaped graph. Any input leads to exactly one output.
The domain is the set of all real numbers. This is because we can plug in any x value leading to some specific y value. There are no holes or gaps or jumps to indicate we must restrict any given x value. The domain would not be the set of whole numbers only because values between the whole numbers (eg: decimal values like x = 2.75) work just fine.
The range is the set of y values such that y is either 0 or larger than 0. In short,
the range is 
. Notice how any point on the V shaped graph has a y coordinate that is either 0 or larger than 0. It is impossible to get a y value that is negative.
--------------------------------------------------------------------
In summary,
Yes it is a function
Domain: all real numbers
Range:

So
the answer is choice B