Consider the following JavaScript skeletal program The main

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.

Solution

a) Static scoping :It means that x refers to the x declared in the innermost scope of declaration that has one.

Result :

In sub1: sub1

In sub2: sub1

In sub3: main

b) Dynamic scoping : It means that x refers to the x declared in the most recent frame of the stack that has one.

Result :

In sub1: sub1

In sub2: sub1

In sub3: sub1.

Consider the following JavaScript skeletal program: // The main program var x; function sub1() { var x; function sub2() { . . . } } function sub3() { . . . } As

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site