Question
Consider the following JavaScript skeletal program: function sub1() { function sub2() { var a=b; function sub4() { var d=c; ... } ... } function sub3()
Consider the following JavaScript skeletal program: function sub1() { function sub2() { var a=b; function sub4() { var d=c; ... } ... } function sub3() { var c=6; .... } var b=5; .... } Assume that the call sequence is sub1->sub3->sub2->sub4 a. Assuming static scoping, which declaration of a is the correct one for a reference to a in sub1? b. Assuming static scoping, which declaration of b is the correct one for a reference to b in sub2? c. Assuming static scoping, which declaration of c is the correct one for a reference to c in sub3? d. Assuming static scoping, which declaration of c is the correct one for a reference to c in sub4? e. Assuming dynamic scoping, which declaration of c is the correct one for a reference to c in sub4? f. Assuming dynamic scoping, which declaration of b is the correct one for a reference to b in sub2? g. Assuming dynamic scoping, which declaration of a is the correct one for a reference to a in sub3?
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started