JavaScript 2015
1. Consider: var x = ['a', 'b', 'c']; Which line of code will remove the first element of the array, resulting in x being equal to ['b', 'c']?
Answers:
• x.splice(0);
• x.splice(0, 1);
• x.pop();
• x.unshift(0);
2. Which of the following is a JavaScript
comment?
Answers:
• \\ comment
• //
comment
• # comment
• <!-- comment -->
• -- comment
3. var foo
= 'Global'; function fun() {
log( foo ); var foo =
'Local'; log( foo ); } fun(); What the output of the above to log()?
Answers:
• Global Local
•
undefined Local
• Global Global
• Local Local
4. console.log( typeof [1,2] ) will print out:
Answers:
• string
• array
• undefined
• number
• object
5. JavaScript is ...
Answers:
• subjective
• object
based
• objective
• evil
6. Every object is linked to a _________ object from
which it can inherit properties.
Answers:
• argument
•
prototype
• sibling
• parent
7. What is the value of x? var x = typeof NaN;
Answers:
•
"number"
• "double"
• "object"
• "integer"
• "nan"
8. What will be the value of result? function foo(bar) { return bar ? bar == foo : foo(foo); } var result = foo();
Answers:
• Function won't work
due to incorrect syntax
• Value will be null
• Function will end up
in infinite loop
• false
• true
9. What values will the output function be
called with, in the following code: var
foo; var bar = { name:
"baz", email:
"fiz@example.com",
sendmail: function() { } }; for
(foo in bar) { output(foo); }
Answers:
•
"name", "email", "sendmail"
• "baz",
"fiz@example.com", null
• "name",
"email"
• "baz",
"fiz@example.com", undefined
• Type Error
10. What is the value of x? var z = [typeof z, typeof y][0]; var x =
typeof typeof z;
Answers:
• "undefined"
• "array"
• "object"
•
"string"
11. var x = {}; var foo = function () { this.hello = "Hi"; return this; }; x.bar = foo; What is the value of the following code:
x.bar().bar().hello;
Answers:
• TypeError: Object --
has no method 'bar'
•
"Hi"
• "function () {
this.hello = "Hi"; return this; }"
• undefined
• TypeError: Cannot call
method 'bar' of undefined
12. Which of the following assigned values of x
will cause (x == x) to return false?
Answers:
• 0/0
• NaN
•
Number("foo")
• All of
the answers
13. What would this code print out? if (new Boolean(false)) console.log("True"); else console.log("False");
Answers:
• True
• False
14. Which two values are logged by the following
code? var x = 5; (function () { console.log(x); var x = 10; console.log(x); }());
Answers:
• 10 10
• 5 10
•
undefined 10
• nothing. Throws
ReferenceError: x is not defined
15. Infinity * null will return :
Answers:
• null
• Infinity
• NaN
16. Assuming alert displays a string of its
argument: var a = 10; function
example(){ alert(a); var a = 5; } example(); What will be shown if the preceding code is
executed?
Answers:
• 5
• null
• 10
•
undefined
17. What is the result? "" ? "a" : "b"
Answers:
• ""
•
"b"
• "a"
• Error: "" is
not a boolean
18. What is the value of x? var x = typeof null;
Answers:
• "null"
• null
•
"object"
• undefined
19. The length property of an Array object is
always:
Answers:
• equal to the number of
properties in that object
• equal to the highest
index of that object
• equal
to the highest index of that object + 1
20. var data = [1, 2, 3, 4, 5, 6]; data.shift();
What does data look like?
Answers:
• [2, 3,
4, 5, 6]
• [1, 2, 3, 4, 5]
• [undefined, 1, 2, 3,
4, 5]
• [undefined, 2, 3, 4,
5, 6]
• [6, 1, 2, 3, 4, 5]
21. Which fact is true about the keyword
"default"?
Answers:
• It does not exist in
JavaScript
• It
catches any case clauses not caught by case statements within a switch
statement
• It sets up one
variable to check against multiple values
• It branches program
logic based on the value of a condition
22. Which String prototype method is capable of
removing a character from a string?
Answers:
• destroy()
• delete()
• remove()
•
replace()
23. What is the value of x after the following
statement? var x = 1 == '1';
Answers:
• true
• false
• '1'
• 1
• undefined
24. What is the result of the following code
snippet? var small = 'BIG'; var BIG =
'small'; console.log(/small/.test(BIG)); console.log(/BIG/.test(small));
Answers:
• false false
• true false
• false true
• true
true
25. What is the result of the following
statement: typeof "x";
Answers:
•
"string"
• "[object String]"
• "undefined"
• "character"
• Throws error
"ReferenceError: x is not defined"
26. Is there a value type for individual string
characters?
Answers:
• Yes, accessing a
character offset from a (non-empty) string will yield a value of type
"char".
• No, there
is only type "string" for characters.
27. Given a variable named stringVar with a
string value, what does the following do?
stringVar.toUpperCase();
Answers:
• Evaluate any string
expression in stringVar
• Alters stringVar,
changes all letters to uppercase
• Return
a copy of stringVar with all letters in uppercase
• Return the number of
characters in the stringVar variable
28. Which is an example of (only) an object
literal in Javascript?
Answers:
• var
obj = { prop1: 'property 1', prop2: 'property 2' };
• var obj = [
"property 1", "property 2" ]
• var obj = new Object()
{ this.prop1 = 'property 1'; this.prop2 = 'property 2'; }
• var obj = [ {prop1:
'property 1', prop2: 'property2'} ]
29. The loop isn't working. What's the problem?
<code> var foos = ['a', 'b', 'c' , 'd', 'e']; var bars = ['x', 'y', 'z'];
for (var i = 0; i < foos.length; i++) {
var foo = foos[i]; for (var i =
0; i < bars.length; i++) { var bar = bars[i]; /* some code using `bar` */ } } </code>
Answers:
• There is no bug. The
loop will run correctly.
• The
inner loop resets the outer for-loop, leaving it a fixed position each time,
causing an infinite loop (hint: no block scope).
• Uncaught SyntaxError.
• The outer-loop
finishes after the first iteration due to a "bug" that unfortunately
is part of the ECMAScript specification.
30. Functions in javascript are always ..
Answers:
•
objects
• in the global scope
• operators
• loops
31. How do you read the first character in a
string?
Answers:
• data.substr(0);
• data.slice(1)
• data.charAt(1);
• data.substring(1);
•
data.charAt(0);
32. Which of the following have special meanings
within the language syntax?
Answers:
• Literals
•
Reserved words
• Identifiers
• Variables
33. What is the result? 0 == ""
Answers:
• false
• true
• Error: type mismatch
34. Primitive types are passed by :
Answers:
• Value
• Pointer
• Reference
35. To what type are values converted internally
when evaluating a conditional statement?
Answers:
• tinyint
• negative
• positive
•
boolean
• integer
36. var x = "foo"; x = !!x; What is the value of x?
Answers:
• "!!foo"
• NaN
• true
• undefined
37. What will calling the below test function
log to console? function test(){ console.log(a); var a = 'hello'; console.log(a); }
Answers:
•
undefined, "hello"
• ReferenceError: a is
not defined
• "",
"hello"
• ReferenceError: a is
not defined, "hello"
38. How do you assign an anonymous function to a
variable?
Answers:
• var anon = func({});
• var
anon = function() { };
• var anon = new
Function () { };
• var anon = func() { };
39. What is the value of x? var x = 2 + "2";
Answers:
• 4
• "4"
•
"22"
• 22
40. Which of these is not a JavaScript
statement?
Answers:
• break
• None,
these are all valid statements.
• throw
• continue
41. Which of the following variable types does
not exist in JavaScript?
Answers:
• double
• string
• boolean
• number
• object
42. Which of the following is a way to add a new
value to the end of an array?
Answers:
• arr.length = value;
•
arr[arr.length] = value;
• arr[arr.length()] = value;
• arr[value] = length;
43. What is the RegExp object constructor used
for?
Answers:
• Match
text against regular expressions
• Switches numerical
notation to exponential
• Provides access to
Windows registry express values
• Regulates the
expression of variables
• Registers experienced
functions with the DOM
44. What does "2" + 3 + 4 evaluate to?
Answers:
• '234'
• 9
• '27'
45. When an array index goes out of bounds, what
is returned?
Answers:
• A default value, like
0
• the first or last
value in the array
• An error to the
browser
•
undefined
• Moderate
46. Which is the correct syntax to write array
literals in JavaScript?
Answers:
• var x
= ["blank","blank","blank"];
• var x =
{"blank","blank","blank"};
• var x = new Array(1:"blank",2:"blank",3:"blank")
• var x =
array("blank", "blank", "blank”);
47. The "exploit" property:
Answers:
• Is obsolete
• Represents a variable
• Does
not exist in JavaScript
• Is a very important
property
48. split() is a method of which constructors'
prototype?
Answers:
• Array.prototype
• None of these
•
String.prototype
• Number.prototype
49. Which of the following orders can be
performed with the Array prototype "sort()" callback?
Answers:
• Descending
alphabetical
• ASCII ordering
• Ascending alphabetical
• All of
these
50. var a = {1:'one',2:'two',3:'three'}; var b = Object.keys(a); What's the value of
b?
Answers:
• An
array with all of the distinct keys from the obj a
• An obj with autowired
getters and setters for it's key/values
• none of the above
• A serialized copy of
the obj a
51. How do you write a conditional statement
that will *only* execute the contained
code if variable x has a value 5 of type *number*?
Answers:
• if x = 5 then ...
• if (x == 5) { ... }
• if x = 5 ...
• if (x
=== 5) { ... }
52. What is the value of c? var a = function(){ this.b = 1; } var b = function(){ var b = new a().b; return 5 + b; } var c = b();
Answers:
• 5
• null
• Error thrown when
running the code
• undefined
• 6
53. How do you find the number with the highest
value of x and y?
Answers:
• ceil(x, y)
• Math.ceil(x, y)
• top(x, y)
•
Math.max(x, y)
• max(x, y)
54. What is the value of x? var a = false; var x = a ? “A” : “B”;
Answers:
• false
• "A"
• undefined
• true
•
"B"
55. Which of the following operators can assign
a value to a variable?
Answers:
• =
• All of
these
• +=
• %=
56. What is the value of x? var x = '1'+2+3;
Answers:
• 6
• The statement
generates an error.
•
"123"
• 15
57. Which of the following is the equivalent of the
following. if (a) { x = b; } else { x = c; }
Answers:
• x = a : b ? c;
• x = a
? b : c;
• x = a ? b , c;
58. What is the value of x? var obj = {}; obj["function"] =
123; x = obj.function;
Answers:
• 123
• undefined. SyntaxError
due to illegal position of a reserved word
• native Function
constructor
• undefined. Silent
failure.
59. null === undefined
Answers:
• false
• true
60. Which event fires whenever a control loses
focus?
Answers:
• onmove
• onchange
• onblur
• onclick
61. Which of these is not a logical operator?
Answers:
• ||
• &
• !
• &&
62. Which of these operators compares two
variables by value AND type?
Answers:
• ==
• None of these
• =
• ===
63. Which message does the following log to the
console? bar(); function bar() { console.log('bar'); }
Answers:
• SyntaxErrror
• undefined
•
"bar"
• TypeError
64. Which of the following invokes a
user-defined object constructor function?
Answers:
• var x = create
myConstructor();
• var x
= new myConstructor();
• myConstructor x =
create myConstructor();
• myConstructor x = new
myConstructor();
65. The function call Math.ceil(3.5) returns:
Answers:
• 4
• 3
• 0
• Throws a MathError
exception.
66. In JavaScript, to call a function directly,
you use:
Answers:
• function_expression
-> ( arguments_if_any )
•
function_expression ( arguments_if_any )
• function_expression {
arguments_if_any }
• arguments_if_any (
function_expression )
• ( arguments_if_any )
-> function_expression
67. How do you declare a function?
Answers:
• function:doSomething()
{}
• all of these
• function=doSomething()
{}
•
function doSomething() {}
68. How would one declare a string variable?
Answers:
• var fName =
"Mary";
• var names =
"7";
• Any of
these
• var fName = new
String;
69. What is the value of a : var a = 3; var b =
2; var c = a; var a=b=c=1;
Answers:
• true
• 3
• false
• 2
• 1
70. Properties of objects may be accessed
using...
Answers:
• the redirect notation
in JavaScript.
• none of these
• the
dot notation in JavaScript.
71. What is the value of the array myArr after
execution of the following code: var
myArr = [1,2,3,4,5]; myArr.shift();
Answers:
•
[2,3,4,5]
• [1,2,3,4,5]
• []
• [1,2,3,4]
72. What does isNaN() do?
Answers:
• Converts a non-numeric
value to a number.
• Throws an error if a
conditional statement is false.
• Only
returns true if the argument is not a number
73. What keyword is used to define the
alternative path to take in a conditional statement?
Answers:
• altenative
• next
• or
• else
74. What is the difference between a while loop
and a do...while loop?
Answers:
• The code inside a
while loop will always be executed at least once, even if the condition is
false.
• The
code inside a do...while loop will always be executed at least once, even if
the condition is false.
• There is no difference
between them.
75. What is the difference between == and === ?
Answers:
• The == is used in
comparison, and === is used in value assignment.
• The ==
operator converts both operands to the same type, whereas === returns false for
different types.
• The === is deprecated,
and now they are exactly the same.
76. Which of these could be a correct way to
create an instance of Person?
Answers:
• var Person john = new
Person('John', 'Doe', 50, 'blue');
• new john =
Person('John', 'Doe', 50, 'blue');
• Person john = new
Person('John', 'Doe', 50, 'blue');
• var
john = new Person('John', 'Doe', 50, 'blue');
77. (function( ) { var x = foo( ); function foo( ){ return "foobar" };
return x; })( ); What does this
function return?
Answers:
• TypeError: undefined
is not a function
•
"foobar"
• ReferenceError: foo is
not defined
• foo( )
• undefined
78. What operator is used for string
concatenation?
Answers:
• &
• .
• All of these
• +
79. Which is the correct way to write a
JavaScript array?
Answers:
• var
names = ["Tim","Kim","Jim"];
• var names = {1:
"Tim", 2:"Kim", 3:"Jim"};
• var names = {0:
"Tim", 1: "Kim", 2: "Jim"};
• var names =
array("Tim", "Kim", "Jim");
80. USERNAME and userName
Answers:
• Represent the name of
the same constant
• Represent the name of
the same variable
• Represent the name of
different constants
•
Represent the name of different variables
81. Which of these descriptors applies to
JavaScript?
Answers:
•
Loosely typed, values of any type can be assigned to any variable.
• Strongly typed,
variables are declared with a type, and you can not assign another type to the
variable.
82. Which of the following is an Error object
constructor?
Answers:
• EvalError
• All of
these
• Error
• RangeError
83. How do you check what the type of a value in
variable x is?
Answers:
•
typeof(x);
• x.__type;
• gettype(x);
• Object.type(x);
84. Which of the following is a JavaScript
comment?
Answers:
• \\ comment
• <!-- comment -->
• //
comment
• # comment
• -- comment
85. What is the value of the following
expression: 8 % 3
Answers:
• 5
• 24
• Other/Error
• 2
86. var a = '011'; parseInt(a); will return:
Answers:
• 9
• 0
• error
• 11
87. var a = '011'; parseInt(a); will return:
Answers:
• 9
• 0
• error
• 11
88. How does a "while" loop start?
Answers:
• while (i<=10;i++)
• while i=(1 <>
10)
• while
(i<=10)
• while i=1 to 10
89. The
`else` statement is ___
Answers:
• used inside of an `if`
statement. To specify the code that should execute if the `if` condition is no
longer true.
• Does not exist, in
JavaScript `or` and `then` are used to specify code to execute for the
"false" case of the `if` statement.
• used
together with the `if` statement to specify the code that should execute when
the `if` condition is false.
90. Given the following code, what does myFunc()
return? var foo = 'foo'; var bar =
'bar'; function myFunc() { return foo
+ bar; }
Answers:
• "foo + bar"
• An error is thrown
because of illegal out of scope access.
•
"foobar"
• NaN
•
"undefinedundefined"
91. String literals are written using:
Answers:
• Just double quotes:
"example"
• Either
double quotes or single quotes: "example" and 'example'
• Just single quotes:
'example'
92. How is an object property referenced?
Answers:
•
myObj.foo
• myObj[foo]
• myObj<foo>
• myObj->foo
• myObj(foo)
93. Which symbol is not used in logical
operations?
Answers:
• &&
• !
• ||
• %
94. Which of these will throw a SyntaxError?
Answers:
• if (x === 1) { }
• if (x == 1) { }
• if (x
==== 1) { }
• if (x = 1) { }
95. JavaScript supports dynamic typing, you can
assign different types of values to the same variable.
Answers:
• true
• false
96. How do you round the number 7.25, to the
nearest whole number?
Answers:
•
Math.round(7.25)
• Math.rnd(7.25)
• rnd(7.25)
• round(7.25)
97. How to return the first value of this
array? var myArr = [1, 2, 3, 4, 5]; var myVal = ...
Answers:
• myArr.unshift();
• myArr.shift();
• myArr[1];
• myArr.pop();
•
myArr[0];
98. How do you define a function called
"fName"?
Answers:
• None of these
•
function fName() { }
• new fName = { }
• func fName = function
() {}
• function fName: { }
99. Which of the following is not a reserved
word?
Answers:
•
program
• throw
• return
• void
100. Which of the following asserts that the
variables `A`, `B`, and `C` have unequal values?
Answers:
• A !== B & B !== C
• A !== B || B !== C
• A !==
B && B !== C && A !== C
• A !== B
101. What does the "break" statement
do?
Answers:
• Aborts
the current loop or switch statement.
• Simulates a JavaScript
crash.
• Aborts the current
function.
• Cancels the current
event.
102. Which of the following is a valid function
definition?
Answers:
• func myFunc = (arg1 as
string, arg2 as int) { }
• function myFunc(arg1,
arg2):
•
function myFunc(arg1,arg2) { }
103. Which of the following declares a variable
with a value of string type?
Answers:
• var
myVar = "This is a string";
• var string myVar =
"This is a string";
• string myVar =
"This is a string";
104. Are variable identifiers case-sensitive?
Answers:
• Yes
• No
105. What is the correct JavaScript syntax to
insert a comment that can span multiple lines?
Answers:
• // This comment has
more than one line //
• // This comment has
mor than one line *//
• / This comment has
more than one line /
• /*
This comment has more than one line */
106. The "if" statement is used to:
Answers:
• Convert an integer
value to a boolean
• Deal
with logic that should execute only when a condition is true
• Deal with logic that
should execute only when a condition is false
• Create a loop that
runs as long as a condition is true
107. Which keyboard character represents the
assignment operator?
Answers:
• !
• ?
• =
• #
• :
108. String concatenation...
Answers:
• is the splitting of a
String into two or more Strings
• Is a complex String
• Is an elemental String
• Is the
combination of two or more text Strings
109. Properties of a RegExp object include:
Answers:
• ignoreCase
• source
• All of
these
• lastIndex
110. You use the Math.pow() method to:
Answers:
• Return
a number raised to the power of a second number
• Return any number
• Return a variable
value
• Return a random value
between 0 and 1
111. What is the value of
("dog".length)?
Answers:
• 2
• 3
• 4
112. Which is NOT a way to create a loop in
javascript?
Answers:
• for (...) { }
• repeat
(...) { }
• while (...) { }
• do { } while(...)
113. What is the value of x? var a = "A"; var x =
a.concat("B");
Answers:
• "B"
•
"AB"
• "A"
• ["A", "
B"];
114. Which statement loops through an array?
Answers:
• for (i = 0; i <=
myArray.length;)
• for
(var i=0; i < myArray.length; i++)
• for (i <
myArray.length; i++)
115. The var statement is used to:
Answers:
• Declare a member of a
class
• Retrieve a variable
descriptor
• Change a constant
• Create
a new local variable
116. function foo(){ var tmp = 'one_two_three_four_five'; return tmp.replace(/_/g, '+'); } What does foo() return?
Answers:
• one+
•
one+two_three_four_five
•
one_two_three_four_five
•
one+two+three+four+five
•
_______________________
117. A for loop is written as such: "for
(first property; second property; third property) {...}" What does the third property represent?
Answers:
• A condition to check
at the beginning of a loop cycle
• An
action to take at the end of the current loop cycle
• An action to take at
the beginning of the loop cycle
118. Where do you use the "break"
statement?
Answers:
• To add a value to an
array.
• To
terminate a switch statement, loop, or labeled block.
• To terminate an Object
statement.
• To delete a (global)
variable.
• To divide (or
"break") a mathematical value in half.
119. In an array object, what is the key of the
first value?
Answers:
• $
• -1
• 0
• 1
• 100
120. Which of the following primitive values
exist in JavaScript?
Answers:
• boolean
• string
• All of
these
• number
121. What keyword is used to begin a conditional
statement?
Answers:
• how
• condition
• if
• when
122. What character ends a javascript statement?
Answers:
• A period
".".
• A
semicolon ";".
• A colon ":".
• An exclamation mark
"!".
123. Which has the correct syntax of a ternary
operation?
Answers:
• var x
= y === true ? "true" : "false";
• var x = ( y === true )
: "true" ? "false";
• var x = y === true :
"true" ? "false";
• var x = ( y === true )
{ "true" : "false" };
124. JavaScript is an implementation of the
______ language standard.
Answers:
• HTML
• ActionScript
• VBScript
•
ECMAScript
125. If a function doesn't explicitly use the
"return" operator, what will the return value be when the function is
invoked?
Answers:
• NaN
• null
• closure
•
undefined
• false
126. What is result of the following expression:
var a = "test"; console.log(!!a);
Answers:
• SyntaxError
• undefined
• true
• false
127. What is the name of the String prototype
that appends the given string to the base string and returns the new string?
Answers:
• "x".concat("foo")
•
"x".add("foo")
• None of these does
that and/or such method doesn't exist in javascript!
•
"x".combine("foo")
•
"x".match("foo")
128. Which of these is a correct method to
create a new array?
Answers:
• var myArray = ();
• var myArray = array();
• var
myArray = [];
• var myArray = new
Array[];
• var myArray = {};
129. var data =
["A", "B", "C", "D"];
data.unshift("X"); data.push("Y"); What does data look
like?
Answers:
• ["A",
"B", "C", "D", "X", "Y"]
•
["X", "A", "B", "C", "D",
"Y"]
• ["A",
"B", "C", "X", "D", "Y"]
• ["Y",
"A", "B", "C", "D", "X"]
• ["X",
"Y", "A", "B", "C", "D"]
130. What character combination is used to
create a single line comment?
Answers:
• !!
• $$
• --
• //
131. Which of the following is the syntax for an
object literal (with no properties)?
Answers:
• [];
• object;
• {};
• nil;
• ();
132. How can you concatenate multiple strings?
Answers:
• 'One' + 'Two' +
'Three'
• Both
of these
• 'One'.concat('Two',
'Three')
133. How do you assign object properties?
Answers:
• obj["age"]
= 25 OR obj.age = 25
• obj.age = 25 OR
obj(@"age") = 25
• obj(age) = 25 OR
obj.age = 25
134. Consider this code: var x = ['Hello']; What value will 'x[1]' return?
Answers:
• "Hello"
• NULL
•
undefined
• null
• ['Hello']
135. The _______ operator returns a string that
identifies the type of its operand.
Answers:
• typename
• getType
• Type
• TypeOf
• typeof
136. When writing an object literal, what is
used to separate the properties from each other?
Answers:
• a colon ":"
• a
comma ","
• a full-stop
"."
• a semicolon
";"
• an underscore
"_"
137. What are curly braces ("{" and
"}") used for?
Answers:
• Invoking a function
• Defining a class
• Parsing JSON
• Block
declarations and object literals
• Setting attributes
138. What is the value of x? function foo(y) { var z = 10;
z = 7; }; var x =
foo("bar");
Answers:
• "bar"
•
undefined
• 7
• null
• 10
139. How do you create an object in JavaScript?
Answers:
• All of
these work.
• var obj = {};
• var obj = new
Object();
• function Foo() {} var
obj = new Foo();
140. Which of the following is not a method in
the "JSON" object according to the ECMAScript specification?
Answers:
• JSON.parse
• JSON.stringify
•
JSON.fromString
141. How can you get the number of characters in
a string ?
Answers:
• "1234567".getLength()
•
"1234567".length
•
"1234567".Length
•
"1234567".length()
•
"1234567".Length()
142. What is the result of the following
statement: 0 == "";
Answers:
• null
• false
• true
• Throws Error, invalid
comparison
143. What does null, undefined,
"string", 20, true and false have in common?
Answers:
• they
are primitive values
• they have the same
instance properties
• they are objects
• they are functions
144. Given the following code, what is the value
of x? var x = ['foo', 'bar']; x.length = 1;
Answers:
• []
• ["bar"]
• ["foo",
"bar', 1]
• ["foo",
"bar"]
•
["foo"]
145. Math.random() returns..
Answers:
• a random number
between 0 and 1000
• a
random number between 0 and 1
• a random number that
can be any value
• a random number
between 0 and 100
146. What is the result of the following
expression? ({"foo":
true}).foo;
Answers:
• true
• false
• 4
• SyntaxError
• undefined
147. In the loop, "for (first clause;
second clause; third clause) { statements; }" What does the second clause
represent?
Answers:
• Code to execute once,
after the loop has ended
• Code to execute once,
before the loop starts
• A condition to check
at the end of each loop cycle
• A
condition to check at the beginning of each loop cycle
148. What is the value of `x` after the
following? var x = "hello";
(function() { x =
"goodbye"; }());
Answers:
• "hello"
• undefined. A
SyntaxError is thrown
•
"goodbye"
149. Which is not a primitive data type in
JavaScript?
Answers:
•
character
• number
• boolean
• string
150. What will invoking `foo` return? function foo() { var x = 10; x = 7;
};
Answers:
•
undefined
• foo
• 10
• 7
• null
151. What is the value of x? var str = "what is this"; var x =
str.search("is");
Answers:
• 4
• 7
• 6
• 1
• 5
152. The "this" keyword refers to ...
Answers:
• parent object that
hosts the current function.
•
current execution context (could be any value).
• function currently
being executed.
153. '&' Operator is _____
Answers:
• a displacement bit
operator
• an operator used in
conditionals
• an assignment operator
• a
bitwise operator
154. What character combination is used to alter
the order of operations by grouping expressions?
Answers:
• < >
• [ ]
• ( )
• { }
155. var x = Math.ceil(10.126); What is the value of x?
Answers:
• An error, because it
was called incorrectly
• 10.13
• 10
• 11
156. What is the type of `null`, according to
the `typeof` operator?
Answers:
•
"object"
• "null"
• "array"
• "undefined"
157. function b(x, y, a) { arguments[2] = 10; alert(a); } b(1, 2, 3); What is alerted?
Answers:
• 10
• 1
• 2
• 3
158. What is the difference between using call()
and apply() to invoke a function with multiple arguments?
Answers:
• apply() is deprecated
in favor of call()
•
apply() is identical to call(), except apply() requires an array as the second
parameter
• apply() is identical
to call(), except call() requires an array as the second parameter
• apply() is exactly
identical to call()
159. var y = 3, x = y++; What is the value of x?
Answers:
• 5
• 2
• 4
• 6
• 3
160. Which of the following types does NOT exist
in javascript?
Answers:
• object
• number
• boolean
• string
•
integer
161. What is the end value of myAddedVar with
the following code: var myVar = '5'; var
myAddedVar = myVar + 10;
Answers:
• 15
• '510'
• 510
• Nothing, the code will
result in an error.
• NaN
162. What does this line do? variable++;
Answers:
• Increments the value
of "variable" and returns the new value
• Returns a value 1
greater than "variable" without changing its value
• Adds the value of
"variable" to itself
• Returns an error to
the browser
•
Increments the value of "variable" but returns the previous value
163. var a = new Boolean(false); What is (typeof a)?
Answers:
• 'boolean'
• 'false'
• 'number'
• 'primitive'
•
'object'
164. What is the value of x? var x = typeof new String("abc");
Answers:
• undefined
• string
• object
165. Which of these will invoke a function?
Answers:
• function.Execute(...)
• function.Apply(...)
•
function.apply(...)
• function.exec(...)
• function.invoke(...)
166. Does NaN equal itself?
Answers:
• No, when trying to
compare it against itself, an exception is thrown.
• Yes, just like 123 is
equal to (==) 123, NaN is equal to NaN.
• No,
NaN does not equal itself (== comparison would return false).
167. What will happen in the console after
executing this code? if
("foo") {
console.log("foo" === false); console.log("foo" === true); }
Answers:
• false
false
• TypeError : Cannot
convert to boolean
• NaN NaN
• false true
168. What is the value of the function log? var _ = '_'; log(parseInt(_));
Answers:
• NaN
• '/e242'
• SyntaxError:
Unexpected identifier
• 242
• TypeError: incorrect
type of argument, expected Number but was String.
169. Which of these is not a built-in object
constructor?
Answers:
• Time
• RegExp
• Array
• Date
170. Given the following code: var myVar = '5'; var myAddedVar = myVar +
10; What is the value of
(myAddedVar.constructor === Number)?
Answers:
• undefined
• NaN
• Type Error
• true
• false
171. How would you iterate over the following
object? var my_data = {a: 'Ape', b: 'Banana', c: 'Citronella'};
Answers:
• None of these. One can
only iterate over arrays, not objects.
• for (var i = 0; i <
my_data.length; i++) {}
• foreach (my_data as
key => value) {}
• for
(var key in my_data) {}
172. What is the value of x after the following
code is executed? var x = 0; x = x++;
Answers:
• 0
• 1
173. You use the Math.tan( ) method to:
Answers:
• Return the tangent of
an angle (in gradients)
• Return
the tangent of an angle (in radians)
• Return the tangent of
an angle (in degrees)
• Does not exist in
JavaScript
174. A javascript variable prefixed with a $ is:
Answers:
• still valid, but
deprecated since Javascript 1.6
• valid
javascript syntax as any other character
• invalid, a common bug
introduced by developers coming from PHP or Perl
• only valid within
certain javascript libraries
175. Math.min() < Math.max(); ...will return:
Answers:
• false
• true
176. Math.min() < Math.max(); will return
Answers:
• true
• undefined
• null
• false
177. What does the following expression
return? 1 + 5 + " bottles of
milk";
Answers:
• undefined. An
exception is thrown
•
"6 bottles of milk"
• "15 bottles of
milk"
• "5 bottles of
milk"
178. Which Object method takes a `propertyName`
parameter and returns `true` if the object contains an uninherited property
with that key?
Answers:
•
obj.exists('propertyName');
•
obj.hasOwnProperty('propertyName');
•
obj.contains('propertyName');
•
obj.doesPropertyExist('propertyName');
•
obj.hasProperty('propertyName');
179. var foo
= "Global"; function fun() { log( foo ); var foo = "Local"; log( foo ); } fun(); What the output of the above to log()?
Answers:
• Global Local
• Global Global
• Local Local
•
undefined Local
180. Which of the following is NOT a valid way
to write a loop that will iterate over the values in the array in variable
"myArray"?
Answers:
• for (var i = 0, len =
myArray.length; i < len; i++) {}
• None
of these, they are all valid
• for (var i = 0; i <
myArray.length; i++) {}
• var i = 0; for (; i
< myArray.length; i++) {}
• for (var i = 0; i <
myArray.length; i += 1) {}
181. What is the value of c? var A = function () { this.b = 1; } A.prototype.b = 2; var c =
new A().b;
Answers:
• 2
• Can be 1 or 2
• 1
• SyntaxError thrown
when running the code
182. What will be the value of x? function A() { this.do = function () { return 'foo'; }; } A.prototype =
{ do: function () { return 'bar'; } };
var x = new A().do();
Answers:
•
"foo"
• "bar"
• undefined
• Throw an Error
183. What is the right way to combine two arrays
into a new array? var a =
["a", "b", "c"]; var b = ["d",
"e", "f"];
Answers:
• var c = a.join(b);
• var c
= a.concat(b);
• None of these
• var c = a.push() +
b.push();
184. What is the output? var one; var two = null; console.log(one ==
two, one === two);
Answers:
• false false
• true
false
• false true
• Error: one is not
defined
• true true
185. Which are the different ways to affect the
"this" reference in a function?
Answers:
• Direct attribution,
e.g. this = x;
•
Invoking a function with the "new" keyword, invoking through the
.call() method, invoking through the .apply() method.
• the "this"
keyword is a global reference that always has the same value.
• Only by invoking
through the .call() or .apply() method.
• Only by invoking a
function with the "new" keyword
186. What is the difference between the two
declaration methods below? var
functionOne = function() { /* some
code */ } function functionTwo() { /* some code */ }
Answers:
• No difference, they
are treated the same way by the javascript engine. Different syntax to do the
same.
•
functionOne is defined in-place (until that line, functionOne is undefined),
whereas functionTwo is hoisted to the top of the scope and is available as a
function throughout the scope.
• functionOne is not a
correct way to define functions
• functionTwo is defined
in-place (until that line, functionTwo is undefined), whereas functionOne is
hosted to the top of the scope and is available as a function throughout the
scope.
187. How does JavaScript interpret numeric
constants outside of strict mode?
Answers:
• As
octal if they are preceded by a zero, and as hexadecimal if they are preceded
by a zero and "x"
• None of these are
correct
• As hexadecimal if they
are preceded by a zero only
• As octal if they are
preceded by an underscore
188. When reserved words are used as keys in
object literals they must be ______?
Answers:
• Prefixed with the @
operator
• quoted
• escaped
• This is not possible in
javascript
189. Mathematical expression, "10" -
(12+5).toString(), evaluates to what?
Answers:
• -7
• 3
• Throws Javascript
error
• 10125
190. What does the following return? Number(null);
Answers:
• 0
• 1
• undefined
• null
191. What is the value of x.length after running
this code? x = ["foo"]; x.quux
= "Hello"; x[1] = "bar";
Answers:
• 1
• Error on last line:
index out of bounds
• 2
• 3
• Error on middle line:
cannot add properties to Array
192. What is the value of x after the code below
is executed? var x = "";
function foo() { x += "foo
"; } var bar = function() { x +=
"bar "; }; foo(); var quux = bar = foo; quux();
Answers:
• "foo bar "
• "bar "
•
"foo foo "
• "foo bar"
193. What will be in console after executing
this code: console.log(1 + '1' - 1);
Answers:
• 10
• '1'
• '111'
• 1
194. The expression (typeof NaN ===
"number") evaluates to:
Answers:
• false
• true
• Throws an Error
195. What will: typeof typeof(null) return?
Answers:
• null
• Number
• error
• string
• empty
196. What will the expression a === b return
after the following? var a = { "foo": "bar" }; var b = { "foo":
"bar" };
Answers:
• An exception is
thrown.
• true
• undefined
• false
197. How can you remove an element from an array
and replace it with a new one ?
Answers:
• array.split(...)
•
array.splice(...)
• array.switch(...)
• array.overwrite(...)
• array.replace(...)
198. What will we see in the console after the
following code run: var a = 'Bolt'; function f() { if (!a) { var
a = 'Nut'; } console.log(a); } f(); console.log(a);
Answers:
• 'Bolt' and 'Bolt'
• 'Nut' and 'Nut'
• 'Nut'
then 'Bolt'
• 'Bolt' then 'Nut'
199. true + true will return :
Answers:
• undefined
• true
• 2
200. What is the result of: function foo() { output( "biz " + bar() ); }
bar(); var bar = function() {
return "baz"; }
Answers:
• foo baz
• biz bar
•
TypeError: Undefined is not a function
• biz baz
• baz biz
201. What is the value of x? var x = 10/0;
Answers:
• 0
•
Infinity
• Runtime exception
• NaN
202. What will be the result of this expression:
void 0
Answers:
• null
•
undefined
• SyntaxError
• TypeError
203. What does Math.random() do?
Answers:
• Returns a random
number more than 0 and less than 1.
•
Returns a random number from and including 0 to less than 1.
• Returns a random
number more than 0 up to and including 1.
• Randomly selects a
number 1-10.
• Randomly put numbers
in descending and ascending order
204. In the following code: function test() { var foo = bar = 5; } test();
Answers:
• SyntaxError is thrown
•
Variable foo is a local variable. But bar is a global variable.
• Both foo and bar are
global variables.
• Both foo and bar are
local variables.
205. What are the values of x and y after the
invocation of `foo` in following? var x = "I am global x"; var y =
"I am global y"; function
foo() { var y = x = "Hello from
foo"; } foo();
Answers:
• x = "I am global
x"; y = "I am global y";
• x =
"Hello from foo"; y = "I am global y";
• The function throws a
SyntaxError
• x = "Hello from
foo"; y = "Hello from foo";
206. var q = null; q++;
What is q?
Answers:
• Type Error
• null
• 1
• NaN
207. Given the following code, what will
myFunction(123, false, "test") return? function myFunction(param) { return arguments[1] || param; }
Answers:
• false
• undefined
• 123
• true
• "test"
208. After the following code: var a = function(){ this.b = 1; this.deleteMe = function(){ delete this; } }; var c = new a(); c.deleteMe(); What is the value of (String(c))?
Answers:
•
[object Object]
• null
• Error thrown
• (empty)
• undefined
209. Which operator has highest precedence?
Answers:
• +
• -
• ^
• *
210. function Question() { this.answered = false; } Question.prototype.rightAnswer = 5; console.log( new Question().rightAnswer, Question.rightAnswer ); What gets printed to the console?
Answers:
• undefined 5
• 5 5
• undefined undefined
• 5
undefined
211. What will the console log when running this
code? Function.prototype.a = 1; var a =
new Function(); a.prototype.a = 2; var c = new a(); console.log(a.a , c.a);
Answers:
• Error thrown when
running the code
• 1 2
• 2 1
• 2 2
• 1 1
212. Evaluate:
undefined + 2
Answers:
• NaN
• 2
• undefined
• Type Error
213. Evaluate:
new Boolean(new Boolean(false)).valueOf()
Answers:
• true
• false
• Type Error
• undefined
• (Instance of object
Boolean with valueOf false)
214. An (inner) function enjoys access to the
parameters and variables of all the functions it is nested in. This is called:
Answers:
•
Lexical scoping
• Prototypal inheritance
215. Object.keys(x)
Answers:
• returns all properties
of x as an array of strings, including non-enumerable properties.
• Incorrect syntax for
using Object.keys.
• returns a key that can
be used to unlock the object after Object.freeze(x).
• returns
the enumerable properties of x as an array of strings.
216. "bar".split().length returns:
Answers:
• throws an error
• 3
• 1
• 2
217. Math.Pi returns the mathematical constant
of Pi. What standard JavaScript method would truncate Math.Pi to 3.14 ?
Answers:
•
Math.Pi.toString("D2")
• Math.Pi.toPrecision(2)
• Math.Round(Math.Pi)
•
Math.Pi.toFixed(2)
218. function foo(){ var tmp = 'one_two_three_four_five'; return tmp.replace('_', '+'); } What does foo() return?
Answers:
• one_two_three_four_five
•
one+two+three+four+five
•
one+two_three_four_five
• one+
• one_
219. var x = { foo: "A" };
x.constructor.prototype.foo = "B"; var y = {}; console.log(x.foo);
console.log(y.foo); Which two values
will be logged?
Answers:
• "B"
undefined
• "B"
"B"
• "A"
"B"
• "A"
undefined
• "A"
"A"
220. Evaluate the following expression: ~-(2 + "2")
Answers:
• 23
• 22
• -22
• true
• 21
221. Which of these will create a copy of an
array such that changes to the old array will not be reflected in the new
array?
Answers:
• var newArray = new
Array(oldArray);
• var newArray =
[oldArray];
• var newArray =
oldArray;
• var
newArray = oldArray.slice(0);
222. What is the output of the following? var x
= 1; console.log(x++ + ++x + x);
Answers:
• 3
• 6
• 7
• 4
223. console.log( ~[]+~![]+~!![] ); Console output is:
Answers:
• NaN
• 4
• undefined
• -4
• -3
224. What value is passed to function
"foo" as first argument? foo(
+"5" );
Answers:
• "05"
• 5
• "5"
• NaN
• 0
225. What will be printed to the console as a
result of this code? var printName =
function() {
console.log('Matt'); printName
= function() { console.log('James'); }; }; var copy = printName; printName();
copy();
Answers:
• Matt
Matt
• James Matt
• Matt James
• James James
226. What is the result of: console.log((!+[]+[]+![]).length);
Answers:
• 4
• 0
• 9
• syntax error
• 18
227. What is the value of x after the following
code is run? var obj = { 0: 'who', 1:
'what', 2: 'idontknow'}; var x = 1 in obj;
Answers:
• "who"
• Nothing, the code
throws a syntax error
• "what"
• true
• undefined
228. Which of the following String prototype
method takes a regular expression?
Answers:
• indexOf()
•
search()
• All of these
• charCodeAt()
229. What is the value of mike after this code
is run? function Person(name, age)
{ this.name = name; this.age = parseInt(age, 10); } var mike = Person('Mike', '25');
Answers:
• { name: 'Mike', age:
25 }
• This code won't run.
It throws a SyntaxError.
•
undefined
• { name: 'Mike', age:
'25' }
• null
230. var x = ([]+!![])[+!+[]]; What is the value of x?
Answers:
• []
• 'a'
• Syntax Error
• 'r'
• undefined
231. Which of the following expressions
evaluates to false?
Answers:
• new Boolean(0) == 0
• new
Boolean('false') == false
• new Boolean(1) == 1
• They're all evaluate
to true
• new Boolean('true') ==
true
232. Math.log(x) returns:
Answers:
•
Logarithm base e (Euler's number) of x.
• Logarithm base 8 of x.
• Logarithm base 2 of x.
• Logarithm base 10 of
x.
233. Which of the following is not a reserved
word in the language?
Answers:
• and
• instanceof
• debugger
• while
234. What is the result of the below expression?
Assume output is a function that outputs a line of text. output(typeof
(function() {output("Hello World!")})());
Answers:
• Hello
World! undefined
• undefined Hello World!
• function
• string
• object
235. What is the value of "x" after
the following code runs? var x; x++;
Answers:
• 0
• undefined
• NaN
• Throws a TypeError on
the "x++;" statement
• 1
236. function foo() { this = "foo"; } var a = foo(); What will the preceding code produce?
Answers:
• undefined
•
ReferenceError: Invalid left-hand side in assignment
• SyntaxError:
Unexpected token
• "foo"
• "undefined"
237. What will this code produce: +new Date()
Answers:
• Unix
timestamp in milliseconds (UTC timezone)
• Unix timestamp in
milliseconds (Local timezone)
• A SyntaxError
• The Unix epoch
(1970-01-01 00:00:00)
238. What is the value of c? var a = function(){ this.b = 1; } var b = function(){ this.b = new a().b; return 5; } var c = b() + new b();
Answers:
• 5
• 1
• Error
thrown when running the code
• 6
• [object]
239. Which of the following Array prototype
method actually modifies the array it's been called on?
Answers:
•
splice()
• slice()
• all of them
• concat()
240. What does the following return? Math.max();
Answers:
• Infinity
•
-Infinity
• 0
• null
241. Which are the different value types in JavaScript?
Answers:
• boolean, integer,
float, string, array, object and null
• boolean, number,
string, function, object, null and undefined
• boolean, number, date,
regexp, array and object
•
boolean, number, string, function, object and undefined
242. String values have a "length"
property. Why is this property not included in a for-in loop over a string
object? var prop, str; str = 'example'; /* str.length === 7 */ for ( prop in str) {}
Answers:
• Because the
"length" property isn't a real property (defined and set through
get/set accessors). Properties with accessors are not included in for-in loops.
• Because the "length"
property is only in the String prototype, it is not an own property of string
objects, and as such is not included in a for-in loop.
•
Because the "length" property has internal [[Enumerable]] set to
false.
243. What will the following code, when evaluated,
do? var void = function () {};
Answers:
• Create a local
variable named "void" but stays undefined due to a SyntaxError.
• Throw
a SyntaxError
• Assign an anonymous
function to variable named "void"
244. Object("s") instanceof String ===
"s" instanceof String
Answers:
• true
• false
245. What's the correct syntax for creating a
Date object for January 10, 1998?
Answers:
• new Date(1998, 1, 10);
• new Date(1, 10, 1998);
• new
Date(1998, 0, 10);
• new Date(0, 10, 1998);
246. Evaluate: ![]+[]
Answers:
• Syntax Error
•
'false'
• true
• false
• undefined
247. What is the value of x? var a = "abc"; var x = a instanceof
String;
Answers:
• true
• false
248. Which of the following is NOT a reserved
word in JavaScript?
Answers:
• implements
• goto
• super
• abstract
• array
No comments:
Post a Comment