0% found this document useful (0 votes)
14K views36 pages

M3 - Part2 - JavaScript Functions

This document discusses JavaScript functions. It covers function objects, declaring functions using statements, literals, and constructors. It also discusses passing arguments by value and reference, variable scope, function overloading, optional arguments, and properties/methods of the Function object like apply(), call(), and toString().

Uploaded by

Avika Saraogi
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
0% found this document useful (0 votes)
14K views36 pages

M3 - Part2 - JavaScript Functions

This document discusses JavaScript functions. It covers function objects, declaring functions using statements, literals, and constructors. It also discusses passing arguments by value and reference, variable scope, function overloading, optional arguments, and properties/methods of the Function object like apply(), call(), and toString().

Uploaded by

Avika Saraogi
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1/ 36

1

JavaScript Function

Prof Maheswari S VIT Chennai


2

Functions
 Function Object
 Function declaration
 Passing arguments by value and reference
 Variable scope
 Function Overloading
 Optional argument
 Argument objects
 Argument hashes
 Properties and methods of Function object
Prof Maheswari S VIT Chennai
3

Function Object
 In JavaScript all functions are first-class instances of a global object
called Function.
 Function object has certain properties and methods that can be
accessed by all functions.
 The function objects can be passed as arguments to other
functions and can be returned by other functions.

Prof Maheswari S VIT Chennai


4

Function Object

Prof Maheswari S VIT Chennai


5

Declaring functions
 Using function statement
 Using function literal or anonymous function
 Using Function class constructor

Prof Maheswari S VIT Chennai


Declaring functions – function 6

statement

Prof Maheswari S VIT Chennai


Declaring functions – Anonymous 7

function
 An anonymous function does not have a name.
 Anonymous functions can be passed to other functions.

Prof Maheswari S VIT Chennai


Declaring functions – Anonymous 8

Functions

Prof Maheswari S VIT Chennai


Passing Anonymous Functions as 9

Arguments to other Functions

Prof Maheswari S VIT Chennai


Declaring functions – Function 10

Constructors

Prof Maheswari S VIT Chennai


Declaring functions – Custom 11

Function Constructors

Prof Maheswari S VIT Chennai


12

Declaring functions in an Object

Prof Maheswari S VIT Chennai


13

Passing Arguments
 By value
 When primitive datatypes are passed to a function they cannot be
modified outside the function
 Primitive datatypes (number, string, boolean,null,undefined)
 By Reference
 In composite type it is possible to modify their value outside the
function
 Reference types (Object, Array, Function, Date, RegExp, Error)

Prof Maheswari S VIT Chennai


14

Passing Argument by Value

Prof Maheswari S VIT Chennai


15

Passing Argument by Reference

Prof Maheswari S VIT Chennai


16

Passing Functions as Callbacks


 A callback function is a function that is passed as an argument to
another function that will be called back later.
 The function that accepts the other function as argument is called
higher-order function.
 The higher-order function has the logic when the callback function
needs to be executed.

Prof Maheswari S VIT Chennai


17

Passing Function Callbacks

Prof Maheswari S VIT Chennai


18

Return values
 All functions return value.
 When no return statement is specified “undefined” is returned.
 To return value in a function use return statement.

Prof Maheswari S VIT Chennai


19

Variable scope
 Scope refers to accessibility of a variable in a program.
 Local – Accessible only within the function
 Global – Accessible throughout the program
 Explicit declaration of variable uses var refers that the variable is
declared in the current scope. (If declared outside-global, If
declared inside a function or loop then it is local).
 Implicit declaration does not use var and provides a global scope

Prof Maheswari S VIT Chennai


20

Variable scope

Prof Maheswari S VIT Chennai


21

Variable scope

Prof Maheswari S VIT Chennai


22

Variable scope

Prof Maheswari S VIT Chennai


23

Function Overloading
 JavaScript does not support function overloading directly.
 When functions are overloaded the recent definition will be called.
 As the function pointer holds only the reference the recent
function overwrites the original memory location.

Prof Maheswari S VIT Chennai


Function Overloading through 24

Anonymous Function

 Copy the pointer to a new variable before rewriting the old


function.
 The second function is created as an anonymous function so that
new memory is allocated.

Prof Maheswari S VIT Chennai


Function Overloading through 25

Anonymous Function

Prof Maheswari S VIT Chennai


26

Optional Arguments
 JavaScript does not support optional arguments.
 When the argument is not passed it is treated as undefined.

Prof Maheswari S VIT Chennai


27

Optional Arguments

Prof Maheswari S VIT Chennai


28

Argument Hashes
 An associative array or a hash or an Object can also be passed to a
function.

Prof Maheswari S VIT Chennai


29

Properties of Function object

Prof Maheswari S VIT Chennai


30

Properties of Function object

Prof Maheswari S VIT Chennai


31

Properties of Function object

Prof Maheswari S VIT Chennai


32

Methods of Function object

Prof Maheswari S VIT Chennai


apply() - Demo 33

Prof Maheswari S VIT Chennai


call() - Demo 34

Prof Maheswari S VIT Chennai


toString() - Demo 35

Prof Maheswari S VIT Chennai


36

REFERENCE

 Alexei White, JavaScript Programmer’s Reference, Wrox, ISBN:978-


81-265-2363-4

Prof Maheswari S VIT Chennai

You might also like