Skip to main content

JavaScript- Scopes and Closures

Scope

  • The scope is the set of variables, objects, and functions you have access to.

Create Scope 
  • Use functions
Declaring Variables
  •  If you do write operation without declaring variable -> work fine
    • foo = 10; console.log(foo);  -> 10
  • If you do read operation without declaring variable -> doesn't work fine
    • console.log(foo) -> syntax error
Window Object
  • Inbuilt object provided by JavaScript itself
  • Every global variable and functions are part of window object
JavaScript is both compilations and interpreted language
  • Compilation: register variables, method names, arguments in global scope
  • Interpretation: assign values to global scope and execute the code
  • global scope problem: undeclared function inside the variable it goes to global scope
Hoisting
  • It doesn't matter where you declare your variable (In the compilation step it include all variables automatically before the interpretation)
Strict Mode
  • To get strict mode: "use strict"
  • It doesn't allow use variables without declaring it before. 
Closure
  • Function remembers it's declaration scope at every stage when it executes
Callback
  • setTimeout(function,time)
  • The function you want to execute after waiting defined time(milliseconds)
Important Facts
  • JavaScript is not block scoping language: {} doesn't create blocks in JavaScript
  • IIFE: Immediately Invoke Function Expressions
    • Execute anonymous functions directly
  • When executing functions each time new copy of local variables are produce


Comments

Popular posts from this blog

Sorting Algorithms

Bubble Sort Named as sinking sort. Compare each pair of the adjacent items and swap them if they are in the wrong order. Worst case and average case time complexity both O(n^2)  and best case time complexity is O(n).

JavaScript Objects and Prototypes

Create Objects Using function Create Objects without duplication code: use functions Using constructors To indicate a function is a constructor:  append new keyword in front of the function name when executing it Call Property of function object foo.call() = foo() Call can bind different objects and can execute functions __proto__ Copy of prototype object If some property is not in the object itself, it then looks it in the prototype. If it finds it returns the value of that property All the new object instances of function point to same prototype object prototype.constructor: property that points to function  GitHub repo:  https://github.com/kaosadi17/JavaScript/blob/master/objects%26prototypes.js

Java- Interview

Here are some popular tips in Java General Question JVM - Java Virtual Machine. Used to execute byte code. Platform dependent (but byte code is platform independent) JRE- Java Run time Environment. It provides run time environment and it's the implementation of JVM. It contains libraries and files that need to execute JVM.   JDK- Java Development Kit. It contains JRE and development tools. Why java doesn't support pointers: It's insecure and complex to understand We can save java file with another name if class is not defined as public Java use camalCase notation for objects naming (ex: firstName) OOP Concepts Related  Aggregation: weak relationship (bike has an indicator) Composition:  strong relationship (bike has an engine) GUI Java GUI - Install Window builder to create GUI using Eclipse IDE Code Related No issues when you write static public void instead of public static void We can execute program without main method : using static bloc...