Concepts of programming languages 10th edition Chapter 5 Problem set question 6
ID: 671722 • Letter: C
Question
Concepts of programming languages 10th edition
Chapter 5
Problem set question 6
6. Consider the following JavaScript skeletal program:
// The main program
var x;
function sub1() {
var x;
function sub2() {
. . .
}
}
function sub3() {
. . .
}
Assume that the execution of this program is in the following unit order:
main calls sub1
sub1 calls sub2
sub2 calls sub3
a. Assuming static scoping, in the following, which declaration
of x is the correct one for a reference to x?
i. sub1
ii. sub2
iii. sub3
b. Repeat part a, but assume dynamic scoping.
Explanation / Answer
We know that first var x is declared in main and second var x in sub1
1) Using static scoping
for sub1, the x declared in sub1 will be referenced.
for sub2 the x declared in sub1 will be referenced.
for sub3 the x declared in main will be referenced.
2) Using Dynamic Scoping
for sub1, the x declared in sub1 will be referenced.
for sub2 the x declared in sub1 will be referenced.
for sub3 the x declared in sub1 will be referenced.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.