Question: PLS DO all parts 1. [2pts] What does f(x) return? What values of x and y are used in the computation and why? varx=5; function
![PLS DO all parts 1. [2pts] What does f(x) return? What](https://s3.amazonaws.com/si.experts.images/answers/2024/08/66cf5d4b37db7_86666cf5d4abcd50.jpg)

![varx=5; function f(y){returnx+y;} f(x); Answer: 2. [2pts] What does f(x) return? What](https://s3.amazonaws.com/si.experts.images/answers/2024/08/66cf5d4cbf774_86866cf5d4c4517b.jpg)
PLS DO all parts
1. [2pts] What does f(x) return? What values of x and y are used in the computation and why? varx=5; function f(y){returnx+y;} f(x); Answer: 2. [2pts] What does f(x) return? What values of x and y are used in the computation and why? varx=5; function f(y){ return x+y;} if (true) \{ varx=10; f(x); Answer: 3. [2pts] What does f(z) return? What values of x and y are used in the computation and why? varx=5; function f(y){ return x+y;} if (true) \{ varz=20; \} f(z); Answer: Block scoping as used in other languages can be emulated in JavaScript by creating an anonymous function and executing it immediately. In effect, each (function () { begins a new block because the body of each JavaScript function is in a separate block. Each \}) () ; closes the function body and calls the function immediately so that the function body is executed. Joe vaguely remembered this technique from class and decided to implement a source-to-source compiler that added these anonymous functions around var definitions. Since Joe is clever, his compiler only wraps code where necessary - "why wrap things when you don't need to?" thought Joe. The results of his approach to the above snippets are given below. 4. [2pts] What does f(x) return? What values of x and y are used in the computation and why? Explain how this behavior differs from that of part (1) above. (function() \{ varx=5; \})(); function f(y){ return x+y;} f(x); Answer: 5. [2pts] What does f(x) return? What values of x and y are used in the computation and why? Explain how this behavior differs from that of part (2) above. varx=5; function f(y){ return x+y;} if (true) \{ (function() \{ varx=10; \}}); f(x); Answer: 6. [2pts] What does f(z) return? What values of x and y are used in the computation and why? Explain how this behavior differs from that of part (3) above. varx=5; function f(y){ return x+y;} if (true) \{ (function () \{ varz=20; \})(); f(z); 7. [2pts] Rene thinks that Joe's compiler may have been a bit too clever, leading it to behave incorrectly in some cases. Is she right? If so, explain where Joe's compiler got it wrong above and describe a general wrapping algorithm that Joe should have used instead
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
